Sobes.tech
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.