Sobes.tech
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 από υποκλάση
    }
}