Sobes.tech
Junior — Middle

Как да се гарантира, че един клас работи едновременно с няколко интерфейса или реализации?

sobes.tech AI

Отговор от AI

В iOS (Swift или Objective-C) клас може да реализира няколко протокола (интерфейса), което му позволява да работи с различни набори от методи.

Пример на 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("Потребител: \(name), ID: \(id)")
    }
}

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

По този начин, класът User реализира едновременно два интерфейса — Printable и Identifiable. Това позволява използването на обекта в различни контексти, където е необходим един от тези интерфейси.

Ако искате да работите с различни реализации, можете да използвате композиция или делегиране, за да превключвате между тях.