Sobes.tech
Junior

Kas open klass on lõplik või mitte?

sobes.tech AI

Vastus AI-lt

Ei lõplik. Võtmesõna open näitab selgelt, et saate sellest klassist pärida ja selle liikmeid üle kirjutada.

open class BaseClass {
    open func someMethod() {
        // Vaikimisi rakendus
    }
}

class DerivedClass: BaseClass {
    override open func someMethod() {
        // Üle kirjutatud rakendus
    }
}

Võrreldes teiste juurdepääsukorraldustega:

Modifikator Pärimine Liikmete üle kirjutamine
private Ei (faili/ulatuses) Ei
fileprivate Ei (faili ulatuses) Ei
internal Jah (mooduli ulatuses) Jah (mooduli ulatuses)
public Jah (mooduli ulatuses) Jah (mooduli ulatuses)
open Jah (igakuises moodulis) Jah (igakuises moodulis)
final Ei Ei

Klasse või liige, millele on märgitud final, ei saa üle kirjutada ega pärida, muutes selle lõplikuks. open teeb vastupidise.