Sobes.tech
Junior — Middle

Comment assurer qu'une classe fonctionne simultanément avec plusieurs interfaces ou implémentations?

sobes.tech IA

Réponse de l'IA

En iOS (Swift ou Objective-C), une classe peut implémenter plusieurs protocoles (interfaces), ce qui lui permet de travailler avec différents ensembles de méthodes.

Exemple 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("Utilisateur : \(name), ID : \(id)")
    }
}

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

Ainsi, la classe User implémente simultanément deux interfaces — Printable et Identifiable. Cela permet d'utiliser l'objet dans différents contextes où l'un de ces interfaces est requis.

Si vous souhaitez travailler avec différentes implémentations, vous pouvez utiliser la composition ou la délégation pour basculer entre elles.