Sobes.tech
Junior — Middle

Jak zapewnić, że klasa będzie działać jednocześnie z wieloma interfejsami lub implementacjami?

sobes.tech AI

Odpowiedź od AI

W iOS (Swift lub Objective-C) klasa może implementować wiele protokołów (interfejsów), co pozwala jej pracować z różnymi zestawami metod.

Przykład w 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("Użytkownik: \(name), ID: \(id)")
    }
}

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

W ten sposób klasa User implementuje jednocześnie dwa interfejsy — Printable i Identifiable. Umożliwia to używanie obiektu w różnych kontekstach, gdzie wymagana jest jedna z tych interfejsów.

Jeśli chcesz pracować z różnymi implementacjami, możesz użyć kompozycji lub delegowania, aby przełączać się między nimi.