Junior
Πώς υλοποιούνται πολλαπλοί κατασκευαστές σε μια κλάση στο Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, μια κλάση μπορεί να έχει έναν πρωτεύοντα κατασκευαστή και έναν ή περισσότερους δευτερεύοντες κατασκευαστές.
-
Πρωτεύων κατασκευαστής: Ορίζεται στην επικεφαλίδα της κλάσης. Μπορεί να έχει παραμέτρους.
class ΗΚλάσηΜου(private val κάποιαΙδιότητα: String) { // Πρωτεύων κατασκευαστής με παράμετρο // Σώμα της κλάσης } -
Δευτερεύοντες κατασκευαστές: Δηλώνονται με τη λέξη-κλειδί
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("Δημιουργήθηκε με συμβολοσειρά: $αξία")
}
}