Junior — Middle
Jaké pravidlo určuje dostupnost Open Class, je-li veřejný nebo soukromý?
sobes.tech AI
Odpověď od AI
Ve Swiftu určuje klíčové slovo open nejvyšší úroveň přístupu pro třídy a jejich členy. Třída deklarovaná jako open je dostupná k použití a dědění nejen uvnitř modulu, ve kterém je deklarována, ale i z jiných modulů. To znamená, že open třída je veřejná a může být rozšířena a přepsána mimo modul.
Pravidla přístupu pro open třídu:
- Přístupná z jakéhokoliv modulu (veřejná).
- Může být děděna a přepsána mimo modul.
Na rozdíl od public, které umožňuje použití třídy mimo modul, ale neumožňuje dědění nebo přepisování mimo modul, open poskytuje maximální flexibilitu pro rozšíření.
Příklad:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// V jiném modulu lze dědit a přepsat
class Car: Vehicle {
override func start() {
print("Car started")
}
}