Junior — Middle
Czy możesz wyjaśnić cel i użycie modyfikatora dostępu protected w języku Kotlin?
sobes.tech AI
Odpowiedź od AI
W Kotlinie modyfikator dostępu protected oznacza, że członek klasy jest dostępny wewnątrz samej klasy i w jej podklasach (dziedziczących). W przeciwieństwie do Java, w Kotlinie protected nie umożliwia dostępu do członka z innych klas tego samego pakietu.
Przykład użycia:
open class Parent {
protected val secret = "To jest chroniona właściwość"
}
class Child : Parent() {
fun revealSecret() = secret
}
fun main() {
val child = Child()
println(child.revealSecret()) // Działa
// println(child.secret) // Błąd: secret niedostępne poza klasą i jej podklasami
}
W związku z tym, protected jest używany do ograniczenia dostępu, pozwalając dziedziczącym na używanie i modyfikowanie chronionych członków, ale ukrywając je przed zewnętrznym kodem.