Sobes.tech
Junior — Middle

Kuidas tagada, et klass töötab samaaegselt mitme liidese või teostusega?

sobes.tech AI

Vastus AI-lt

iOS-il (Swift või Objective-C) klass võib rakendada mitmeid protokolle (liideseid), mis võimaldab tal töötada erinevate meetodite kogumitega.

Näide Swiftis:

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

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

Seega, klass User rakendab samaaegselt kahte liidest — Printable ja Identifiable. See võimaldab kasutada objekti erinevates kontekstides, kus on vaja ühte neist liidestest.

Kui soovite töötada erinevate rakendustega, saate kasutada kompositsiooni või delegatsiooni, et nende vahel vahetada.