Junior — Middle
Μπορείτε να εξηγήσετε τον σκοπό και τη χρήση του τροποποιητή πρόσβασης protected στη γλώσσα Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, ο τροποποιητής πρόσβασης protected σημαίνει ότι ένα μέλος της κλάσης είναι προσβάσιμο μέσα στην ίδια την κλάση και στις υποκλάσεις της (κληρονόμοι). Σε αντίθεση με τη Java, στην Kotlin το protected δεν επιτρέπει την πρόσβαση σε μέλη από άλλες κλάσεις του ίδιου πακέτου.
Παράδειγμα χρήσης:
open class Parent {
protected val secret = "Αυτή είναι μια προστατευμένη ιδιότητα"
}
class Child : Parent() {
fun revealSecret() = secret
}
fun main() {
val child = Child()
println(child.revealSecret()) // Λειτουργεί
// println(child.secret) // Σφάλμα: το secret δεν είναι προσβάσιμο εκτός της κλάσης και των υποκλάσεών της
}
Έτσι, το protected χρησιμοποιείται για τον περιορισμό της πρόσβασης, επιτρέποντας στους κληρονόμους να χρησιμοποιούν και να τροποποιούν τα προστατευμένα μέλη, αλλά τα κρύβει από τον εξωτερικό κώδικα.