Это старая версия документа!
Протокол - это абстрактный тип данных. Т.е. это зан7чит не существует явных экземпляров этого типа, а сущетвуют только подписанные под этот тип.
НАбор правил декларируется именно в протоколе.
protocol fullyName{ var fullName: String { get } }
struct Person: fullyName {
var fullName: String var age: Int
}
class Company: fullyName { var fullName: String
init(fullName: String) { self.fullName = fullName } }