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