Sobes.tech
Junior — Middle

Milline reegel määrab Open Class'i kättesaadavuse, kas on avalik või privaatne?

sobes.tech AI

Vastus AI-lt

Swiftis määrab võtmesõna open kõrgeima juurdepääsutaseme klassidele ja nende liikmetele. Klass, mis on deklareeritud kui open, on saadaval kasutamiseks ja pärandamiseks mitte ainult sellel modulil, kus see on deklareeritud, vaid ka teistest modulitest. See tähendab, et open klass on avalik ning seda saab laiendada ja üle kirjutada väljaspool moodulit.

open klassi juurdepääsureeglid:

  • Saadaval igast modulist (avalik).
  • Võib pärida ja üle kirjutada väljaspool moodulit.

Erinevalt public-ist, mis võimaldab klassi kasutada väljaspool moodulit, kuid ei võimalda pärimist või üle kirjutamist väljaspool moodulit, pakub open maksimaalset paindlikkust laiendamiseks.

Näide:

open class Vehicle {
    open func start() {
        print("Vehicle started")
    }
}

// Teises modulil saab pärida ja üle kirjutada
class Car: Vehicle {
    override func start() {
        print("Car started")
    }
}