Junior — Middle
Milyen szabály határozza meg az Open Class elérhetőségét, nyilvános vagy privát?
sobes.tech MI
Válasz az MI-től
Swiftben a open kulcsszó a legmagasabb hozzáférési szintet határozza meg osztályok és azok tagjai számára. Egy open-ként deklarált osztály nemcsak azon a modulon belül érhető el, ahol deklarálták, hanem más modulokból is. Ez azt jelenti, hogy az open osztály nyilvános, és kiterjeszthető, felülírható a modulon kívül.
Az open osztály hozzáférési szabályai:
- Bármely modulból elérhető (nyilvános).
- Modulon kívül örökölhető és felülírható.
A public-tól eltérően, amely lehetővé teszi az osztály használatát a modulon kívül, de nem teszi lehetővé az öröklést vagy felülírást azon kívül, az open maximális rugalmasságot biztosít a bővítéshez.
Példa:
open class Vehicle {
open func start() {
print("Vehicle started")
}
}
// Egy másik modulban örökölhető és felülírható
class Car: Vehicle {
override func start() {
print("Car started")
}
}