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() // Տպում է՝ Ներառական ողջույն
Այսպիսով, նախնական իրագործումը սահմանվում է ոչ թե պրոտոկոլում, այլ նրա ընդլայնման մեջ։