Sobes.tech
Junior — Middle

Ako zabezpečiť, aby trieda súčasne pracovala s viacerými rozhraniami alebo implementáciami?

sobes.tech AI

Odpoveď od AI

V iOS (Swift alebo Objective-C) môže trieda implementovať viacero protokolov (rozhraní), čo jej umožňuje pracovať s rôznymi sadami metód.

Príklad v Swift:

protocol Printable {
    func printInfo()
}

protocol Identifiable {
    var id: String { get }
}

class User: Printable, Identifiable {
    var id: String
    var name: String

    init(id: String, name: String) {
        self.id = id
        self.name = name
    }

    func printInfo() {
        print("Používateľ: \(name), ID: \(id)")
    }
}

let user = User(id: "123", name: "Alice")
user.printInfo()

Týmto spôsobom trieda User súčasne implementuje dva rozhrania — Printable a Identifiable. To umožňuje použitie objektu v rôznych kontextoch, kde je požadované jedno z týchto rozhraní.

Ak chcete pracovať s rôznymi implementáciami, môžete použiť kompozíciu alebo delegovanie na prepínanie medzi nimi.