Sobes.tech
Junior — Middle

Hogyan biztosítható, hogy egy osztály egyszerre több interfésszel vagy megvalósítással működjön?

sobes.tech MI

Válasz az MI-től

iOS-on (Swift vagy Objective-C) egy osztály több protokollt (interfészt) is megvalósíthat, ami lehetővé teszi számára, hogy különböző módszerkészletekkel dolgozzon.

Példa Swift-ben:

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("Felhasználó: \(name), ID: \(id)")
    }
}

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

Így a User osztály egyszerre valósít meg két interfészt — Printable és Identifiable. Ez lehetővé teszi, hogy az objektumot különböző kontextusokban használjuk, ahol ezek közül valamelyik interfész szükséges.

Ha különböző megvalósításokkal szeretne dolgozni, használhat összetételt vagy delegálást a váltáshoz.