Junior — Middle
Може ли да се објави протокол за проширење у декларацији са навођењем другог протокола да наследи његове особине?
sobes.tech АИ
Одговор од АИ
U Swift-u, protokoli mogu naslediti svojstva i metode od drugih protokola. Međutim, extension protokoli (extension protocols) se ne objavljuju odvojeno — proširenja se primenjuju na postojeće protokole.
Ako želite da jedan protokol nasledjuje drugi, to eksplicitno objavljujete:
protocol A {
func methodA()
}
protocol B: A {
func methodB()
}
Ovde, protokol B nasledjuje protokol A i zahteva implementaciju oba metoda.
Protokol proširenja (extension) omogućava dodavanje implementacija metoda, ali ne i deklarisanje novog protokola sa nasledjivanjem. Dakle, protokol proširenja sa nasledjivanjem od drugih svojstava može se deklarisati samo putem normalnog nasledjivanja protokola, a ne putem proširenja.