Junior — Middle
W Kotlinie, klasy domyślnie są zamknięte czy otwarte na dziedziczenie?
sobes.tech AI
Odpowiedź od AI
W Kotlin domyślnie wszystkie klasy są zamknięte (final), czyli nie można ich dziedziczyć bez wyraźnego wskazania.
Aby klasa mogła być dziedziczona, musi być zadeklarowana z modyfikatorem open:
open class BaseClass {
// ciało klasy
}
class DerivedClass : BaseClass() {
// dziedziczący
}
To zostało zrobione w celu zwiększenia bezpieczeństwa i zapobiegania niezamierzonemu dziedziczeniu, co poprawia kontrolę nad hierarchią klas.