Junior — Middle
Este posibil să se implementeze moștenirea multiplă de la mai multe clase în același timp în limbajul Swift?
sobes.tech AI
Răspuns de la AI
În Swift, nu se poate moșteni de la mai multe clase în același timp, adică moștenirea multiplă a claselor nu este suportată. O clasă poate avea doar un părinte. În schimb, Swift folosește protocoale pentru a obține o funcționalitate similară: o clasă poate implementa mai multe protocoale, ceea ce permite adăugarea de comportamente și proprietăți diferite fără moștenire multiplă.
Exemplu de implementare a protocoalelor:
protocol Drivable {
func drive()
}
protocol Flyable {
func fly()
}
class Vehicle: Drivable {
func drive() {
print("Conduc")
}
}
class FlyingCar: Vehicle, Flyable {
func fly() {
print("Zboară")
}
}
let car = FlyingCar()
car.drive() // Conduc
car.fly() // Zboară
Astfel, Swift încurajează compoziția prin protocoale în loc de moștenirea multiplă a claselor.