Sobes.tech
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")
    }
}