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