Junior — Middle
Cum se realizează moștenirea multiplă de clase sau protocoale în limbajul Swift?
sobes.tech AI
Răspuns de la AI
În Swift, o clasă poate moșteni doar de la o singură superclasă, adică nu este suportată moștenirea multiplă a claselor. Cu toate acestea, pentru a obține un efect similar, se folosește moștenirea de la o clasă și implementarea mai multor protocoale. Protocoalele în Swift definesc un set de cerințe (metode, proprietăți) pe care o clasă, structură sau enumerare trebuie să le implementeze. Astfel, o clasă poate moșteni comportament de la o superclasă și în același timp să respecte mai multe protocoale, ceea ce permite combinarea funcționalităților.
Exemplu:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle {
func start() {
print("Vehicul pornit")
}
}
class FlyingCar: Vehicle, Drivable, Flyable {
func drive() {
print("Conducere pe drum")
}
func fly() {
print("Zburând pe cer")
}
}
let myFlyingCar = FlyingCar()
myFlyingCar.start() // Vehicul pornit
myFlyingCar.drive() // Conducere pe drum
myFlyingCar.fly() // Zburând pe cer
Astfel, moștenirea multiplă se realizează prin moștenirea unei clase și implementarea mai multor protocoale.