Junior — Middle
Είναι υποχρεωτικό η κλάση να έχει κατασκευαστή για να λειτουργεί σωστά;
sobes.tech AI
Απάντηση από AI
Η παρουσία ενός κατασκευαστή στην κλάση δεν είναι πάντα απαραίτητη για τη σωστή λειτουργία της. Αν στη κλάση δεν δηλωθεί κανένας κατασκευαστής, ο μεταγλωττιστής δημιουργεί αυτόματα έναν προεπιλεγμένο κατασκευαστή χωρίς παραμέτρους.
Ωστόσο, αν χρειάζεται αρχικοποίηση με παραμέτρους ή ειδική λογική κατά τη δημιουργία του αντικειμένου, τότε ο κατασκευαστής πρέπει να δηλωθεί ρητά.
Παράδειγμα σε Swift:
class Person {
var name: String
// Ο κατασκευαστής είναι υποχρεωτικός, καθώς υπάρχει υποχρεωτική ιδιότητα χωρίς προεπιλεγμένη τιμή
init(name: String) {
self.name = name
}
}
Αν όλες οι ιδιότητες έχουν προεπιλεγμένες τιμές, δεν χρειάζεται να γράψετε κατασκευαστή, και η κλάση θα λειτουργεί σωστά.