Sobes.tech
Junior — Middle

¿Cómo se puede garantizar que una clase funcione simultáneamente con varias interfaces o implementaciones?

sobes.tech AI

Respuesta de la IA

En iOS (Swift o Objective-C), una clase puede implementar varios protocolos (interfaces), lo que le permite trabajar con diferentes conjuntos de métodos.

Ejemplo en 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("Usuario: \(name), ID: \(id)")
    }
}

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

De esta manera, la clase User implementa simultáneamente dos interfaces — Printable y Identifiable. Esto permite usar el objeto en diferentes contextos donde se requiere uno de estos interfaces.

Si necesitas trabajar con diferentes implementaciones, puedes usar composición o delegación para cambiar entre ellas.