Sobes.tech
Junior — Middle

Ինչպե՞ս ապահովել, որ դասը միաժամանակ աշխատի մի քանի ինտերֆեյսների կամ իրականցումների հետ։

sobes.tech AI

Պատասխան 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("Օգտագործող: \(name), ID: \(id)")
    }
}

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

Այսպիսով, User դասը միաժամանակ իրականացնում է երկու ինտերֆեյս՝ Printable և Identifiable: Սա թույլ է տալիս օգտագործել օբյեկտը տարբեր կոնտեքստներում, որտեղ պահանջվում է այդ ինտերֆեյսներից մեկը:

Եթե ցանկանում եք աշխատել տարբեր իրականացումների հետ, կարող եք օգտագործել կոմպոզիցիա կամ դելեգացիա՝ փոխ switch անելու համար: