Sobes.tech
Junior — Middle

Kako osigurati da klasa istovremeno radi sa više interfejsa ili implementacija?

sobes.tech АИ

Одговор од АИ

У 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. Ово омогућава коришћење објекта у различитим контекстима где је потребан један од ових интерфејса.

Ако желите да радите са различитим имплементацијама, можете користити композицију или делегирање за прелазак између њих.