Sobes.tech
Junior — Middle

Կարո՞ղ է սահմանել մեթոդի նախնական իրագործում ինտերֆեյսում կամ պրոտոկոլում։

sobes.tech AI

Պատասխան AI-ից

Swift- ում պրոտոկոլները կարող են պարունակել նախնական մեթոդների իրագործումներ ընդլայնումների (extensions) միջոցով: Սա թույլ է տալիս սահմանել ստանդարտ վարքագիծ պրոտոկոլի մեթոդների համար, որը կարող է վերագրել կոնկրետ տիպերում:

Օրինակ՝

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Նախնական ողջույն")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Տպում է՝ Ներառական ողջույն

Այսպիսով, նախնական իրագործումը սահմանվում է ոչ թե պրոտոկոլում, այլ նրա ընդլայնման մեջ։