Sobes.tech
Junior

Как по този начин, свързвайки интерфейса, получаваме съответното поведение?

sobes.tech AI

Отговор от AI

Чрез протокол.

Протоколът определя договор за поведение: изисквания към свойства, методи и други аспекти на обекта. Клас, структура или изброяване, които реализират протокола, гарантират съответствието с тези изисквания.

// Определяне на протокол
protocol Serializable {
    // Задължително свойство
    var dataRepresentation: Data { get }

    // Задължителен метод
    func serialize() -> Data
}

// Реализация на протокола в клас
class User: Serializable {
    var dataRepresentation: Data {
        // Логика за получаване на Data
        return Data()
    }

    func serialize() -> Data {
        // Логика за сериализация
        return Data()
    }
}

// Използване
let user = User()
let serializedData = user.serialize()

Когато работим с тип данни, който реализира определен протокол, можем да бъдем сигурни, че разполага с необходимите методи и свойства, дефинирани от този протокол, осигурявайки последователно поведение. Полиморфизмът позволява да работим с различни типове, които реализират един и същи протокол, по унифициран начин.