Intern
Τι είναι οι τροποποιητές πρόσβασης;
sobes.tech AI
Απάντηση από AI
Οι τροποποιητές πρόσβασης στο Kotlin ορίζουν την ορατότητα των δηλώσεων (κλάσεις, διεπαφές, συναρτήσεις, ιδιότητες). Ελέγχουν πού μπορεί να χρησιμοποιηθεί αυτό το στοιχείο.
Διαθέσιμοι τροποποιητές:
public(προεπιλογή): Ορατότητα από οπουδήποτε.private: Ορατότητα μόνο εντός του μπλοκ που το περιέχει (κλάση, αρχείο).protected: Ορατότητα εντός της κλάσης και όλων των υποκλάσεών της. Δεν διατίθεται για μέλη επιπέδου κορυφής (ορισμένα εκτός της κλάσης).internal: Ορατότητα μόνο εντός του ίδιου module.
Παράδειγμα:
// αρχείο: Example.kt
package com.example.app
private const val PRIVATE_CONSTANT = 1 // Ορατό μόνο σε αυτό το αρχείο
public class PublicClass { // Ορατό από οπουδήποτε
private var privateProperty = 0 // Ορατό μόνο εντός της PublicClass
protected open fun protectedMethod() { // Ορατό εντός της PublicClass και των υποκλάσεών της
// ...
}
internal fun internalMethod() { // Ορατό μόνο εντός του module ComExampleApp
// ...
}
}
open class BaseClass {
protected val protectedValue = 5 // Ορατό εντός της BaseClass και των υποκλάσεών της
}
class DerivedClass : BaseClass() {
fun useProtectedValue() {
println(protectedValue) // Πρόσβαση σε protectedValue από υποκλάση
}
}