Sobes.tech
Junior

Na koji način, povezujući interfejs, dobijamo odgovarajuće ponašanje?

sobes.tech АИ

Одговор од АИ

Preko protokola.

Protokol definiše ugovor o ponašanju: zahteve za svojstva, metode i druge aspekte objekta. Klasa, struktura ili enumeracija koja implementira protokol garantuje da ispunjava te zahteve.

// Definisanje protokola
protocol Serializable {
    // Zahtevano svojstvo
    var dataRepresentation: Data { get }

    // Zahtevana metoda
    func serialize() -> Data
}

// Implementacija protokola u klasi
class User: Serializable {
    var dataRepresentation: Data {
        // Logika za dobijanje Data
        return Data()
    }

    func serialize() -> Data {
        // Logika serializacije
        return Data()
    }
}

// Upotreba
let user = User()
let serializedData = user.serialize()

Kada radimo sa tipom podataka koji implementira određeni protokol, možemo biti sigurni da poseduje potrebne metode i svojstva definisana tim protokolom, obezbeđujući dosledno ponašanje. Polimorfizam omogućava rad sa različitim tipovima koji implementiraju isti protokol na ujednačen način.