Sobes.tech
Junior

Τι είναι το μπλοκ 'init' και πώς χρησιμοποιείται στη γλώσσα Kotlin;

sobes.tech AI

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

Το μπλοκ init είναι ένας αρχικοποιητής κλάσης στο Kotlin. Εκτελείται κατά τη δημιουργία μιας στιγμιότυπου της κλάσης, μετά την κλήση του κατασκευαστή (τόσο πρωταρχικού όσο και δευτερεύοντος) και πριν από την ανακοίνωση των ιδιοτήτων της κλάσης. Χρησιμοποιείται για την εκτέλεση κώδικα που είναι απαραίτητος για τη σωστή αρχικοποίηση του αντικειμένου.

Χαρακτηριστικά:

  • Μπορεί να υπάρχουν πολλά μπλοκ init σε μια κλάση.
  • Τα μπλοκ init εκτελούνται με τη σειρά που δηλώνονται στο σώμα της κλάσης.
  • Συνήθως χρησιμοποιούνται για τον έλεγχο των εισερχόμενων παραμέτρων του κατασκευαστή, την εκτέλεση υπολογισμών ή τη διαμόρφωση της αρχικής κατάστασης του αντικειμένου.

Παράδειγμα:

class Person(name: String) {
    val formattedName: String

    init {
        // Έλεγχος εισερχόμενων δεδομένων
        require(name.isNotBlank()) { "Το όνομα δεν μπορεί να είναι κενό" }
        // Μορφοποίηση δεδομένων για εσωτερική χρήση
        formattedName = name.trim().toUpperCase() 
    }

    init {
        // Επιπλέον λογική αρχικοποίησης, αν χρειάζεται
        println("Αρχικοποίηση στιγμιότυπου Person με όνομα: $formattedName")
    }
}