Back to questions
Junior — Middle
70
Каким образом можно обеспечить одновременную работу класса с несколькими интерфейсами или реализациями?
Answer from AI
sobes.tech 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("User: \(name), ID: \(id)")
}
}
let user = User(id: "123", name: "Alice")
user.printInfo()
Таким образом, класс User одновременно реализует два интерфейса — Printable и Identifiable. Это позволяет использовать объект в разных контекстах, где требуется один из этих интерфейсов.
Если нужно работать с разными реализациями, можно использовать композицию или делегирование, чтобы переключаться между ними.