Junior
Meséljen a Swift programozási nyelvben az osztályok öröklődési láncáról.
sobes.tech MI
Válasz az MI-től
A Swift osztályok támogatják az egyszerű öröklődést. Minden osztály egy szülőosztálytól örököl, így hierarchia alakul ki. Az öröklési lánc egy alap osztállyal kezdődik, amely nem örököl semmiből, és lefelé haladva az alosztályokon keresztül bővül.
Az öröklés tulajdonságai:
- Felülírás (Overriding): Az alosztály felülírhatja a szülőosztály módszereit, tulajdonságait és szubscriptjeit. A
overridekulcsszót használjuk. - Felülírás megakadályozása (Preventing Overrides): Megakadályozhatjuk egy tag felülírását a
finalkulcsszóval. Az egész osztálytfinal-ként lehet deklarálni. - Hozzáférés a szülőosztályhoz: Az alosztály a
superkulcsszóval hozzáférhet a szülőosztály megvalósított tagjaihoz. Ez hasznos a szülő módszerének hívásához vagy a szülő tulajdonságának eléréséhez.
Példa:
// Alap osztály
class Vehicle {
var currentSpeed = 0.0
func makeNoise() {
// Üres megvalósítás
}
}
// A Vehicle-ből öröklődő osztály
class Car: Vehicle {
var numberOfDoors = 4
// A makeNoise metódus felülírása
override func makeNoise() {
print("Beep beep")
}
}
// A Car-ból öröklődő osztály
class ElectricCar: Car {
var batteryLevel = 100.0
// Új tulajdonság hozzáadása
let isElectric = true
// A szülőosztály tulajdonságának felülírása
override internal var currentSpeed: Double {
didSet {
if currentSpeed > 0 {
print("Az elektromos autó mozog")
}
}
}
}
Ebben a példában:
Vehicle— alap osztály.Caröröklődik aVehicle-től. Hozzáadja anumberOfDoorstulajdonságot és felülírja amakeNoisemetódust.ElectricCaröröklődik aCar-től. Hozzáadja abatteryLeveltulajdonságot, aisElectricállandót és felülírja acurrentSpeedtulajdonságot.
Az öröklési lánc: Vehicle -> Car -> ElectricCar. Minden osztály ebben a láncban hozzáférhet a felsőbb szinteken lévő osztályok összes nyilvános (vagy más kontextusban elérhető) tagjához.