Sobes.tech
Junior

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

sobes.tech AI

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

Στην Kotlin, μια κλάση μπορεί να έχει έναν πρωτεύοντα κατασκευαστή και έναν ή περισσότερους δευτερεύοντες κατασκευαστές.

  1. Πρωτεύων κατασκευαστής: Ορίζεται στην επικεφαλίδα της κλάσης. Μπορεί να έχει παραμέτρους.

    class ΗΚλάσηΜου(private val κάποιαΙδιότητα: String) { // Πρωτεύων κατασκευαστής με παράμετρο
        // Σώμα της κλάσης
    }
    
  2. Δευτερεύοντες κατασκευαστές: Δηλώνονται με τη λέξη-κλειδί constructor. Αν η κλάση έχει πρωτεύοντα κατασκευαστή, κάθε δευτερεύων κατασκευαστής πρέπει να τον αναθέτει άμεσα ή έμμεσα χρησιμοποιώντας this().

    class ΆλληΚλάση(private val βασικήΑξία: Int) { // Πρωτεύων κατασκευαστής
    
        constructor άλληΑξία: String) : this(άλληΑξία.length) { // Δευτερεύων κατασκευαστής που αναθέτει στον πρωτεύοντα
            // Λογική του δευτερεύοντα κατασκευαστή
            println("Δημιουργήθηκε με συμβολοσειρά: $άλληΑξία")
        }
    
        constructor(αξία1: Int, αξία2: Int) : this(αξία1 + αξία2) { // Άλλος δευτερεύων κατασκευαστής
            // Λογική
            println("Δημιουργήθηκε με δύο ακέραιους: $αξία1, $αξία2")
        }
    }
    

Χωρίς πρωτεύοντα κατασκευαστή, οι δευτερεύοντες κατασκευαστές δεν υποχρεούνται να αναθέτουν σε άλλους κατασκευαστές της ίδιας κλάσης (αλλά μπορούν).

class ΧωρίςΠρωτεύον {

    constructor(αξία: Int) {
        println("Δημιουργήθηκε με ακέραιο: $αξία")
    }

    constructor(αξία: String) {
        println("Δημιουργήθηκε με συμβολοσειρά: $αξία")
    }
}