Sobes.tech
Junior — Middle

Πώς να δηλώσετε μια ιδιότητα κλάσης σε Kotlin ώστε να είναι στατική;

sobes.tech AI

Απάντηση από AI

Στην Kotlin δεν υπάρχει άμεσος αντίστοιχος με τις στατικές ιδιότητες όπως στην Java. Για να δηλώσετε μια ιδιότητα που θα είναι κοινή για όλες τις περιπτώσεις της κλάσης (στατική), χρησιμοποιείτε ένα companion object.

Παράδειγμα:

class MyClass {
    companion object {
        var staticProperty: String = "Κοινή ιδιότητα"
    }
}

fun main() {
    println(MyClass.staticProperty) // Πρόσβαση στην ιδιότητα χωρίς δημιουργία στιγμιότυπου
    MyClass.staticProperty = "Νέα τιμή"
    println(MyClass.staticProperty)
}

Οι ιδιότητες και οι μέθοδοι μέσα στο companion object είναι προσβάσιμες μέσω του ονόματος της κλάσης, κάτι που μιμείται τη συμπεριφορά των στατικών μελών.