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.