Sobes.tech
Junior — Middle

Μπορείτε να ορίσετε μια κλάση σε Kotlin με πολλαπλούς κατασκευαστές;

sobes.tech AI

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

Ναι, στη Kotlin είναι δυνατή η ορισμός μιας κλάσης με πολλαπλούς κατασκευαστές. Για αυτό, χρησιμοποιείται ένας κύριος (primary) κατασκευαστής και ένας ή περισσότεροι δευτερεύοντες (secondary) κατασκευαστές.

Ο κύριος κατασκευαστής δηλώνεται στην κεφαλίδα της κλάσης, και οι δευτερεύοντες — μέσα στο σώμα της κλάσης με τη λέξη-κλειδί constructor.

Παράδειγμα:

class User(val name: String) {
    var age: Int = 0

    // Δευτερεύων κατασκευαστής
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }
}

Εδώ, ο κύριος κατασκευαστής δέχεται το name, και ο δευτερεύων — name και age. Ο δευτερεύων καλεί τον κύριο μέσω : this(name) και αρχικοποιεί την επιπλέον ιδιότητα.