Junior — Middle
Aké pravidlo určuje dostupnosť Open Class, či je verejný alebo súkromný?
sobes.tech AI
Odpoveď od AI
V Swift-e určuje kľúčové slovo open najvyššiu úroveň prístupu pre triedy a ich členov. Trieda deklarovaná ako open je dostupná na použitie a dedenie nielen v rámci modulu, v ktorom je deklarovaná, ale aj z iných modulov. To znamená, že open trieda je verejná a môže byť rozšírená a prepísaná mimo modulu.
Pravidlá prístupu pre open triedu:
- Dostupná z akéhokoľvek modulu (verejná).
- Môže byť dedičná a prepísaná mimo modulu.
Na rozdiel od public, ktoré umožňuje použitie triedy mimo modulu, ale neumožňuje dedičstvo alebo prepísanie mimo modulu, open poskytuje maximálnu flexibilitu pre rozšírenie.
Príklad:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// V inom module je možné dediť a prepísať
class Car: Vehicle {
override func start() {
print("Car started")
}
}