Sobes.tech
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.