Ποιες μέθοδοι αρχικοποίησης αντικειμένων γνωρίζεις και χρησιμοποιείς στις κλάσεις;
sobes.tech AI
Απάντηση από AI
Στο iOS (Swift/Objective-C), χρησιμοποιούνται διάφορες μέθοδοι για την αρχικοποίηση αντικειμένων σε κλάσεις:
-
Αρχικοποιητές (initializers) — ειδικές μέθοδοι που καθορίζουν την αρχική κατάσταση του αντικειμένου. Στο Swift είναι
init(), στο Objective-C είναι οι μέθοδοι-init. -
Αρχικοποιητές με παραμέτρους — επιτρέπουν τον ορισμό αρχικών τιμών κατά τη δημιουργία του αντικειμένου.
-
Κατασκευαστές με αναφορά — ένας αρχικοποιητής καλεί έναν άλλο για να αποφευχθεί η διπλή κωδικοποίηση.
-
Αρχικοποίηση μέσω προεπιλεγμένων ιδιοτήτων — οι ιδιότητες της κλάσης μπορούν να έχουν προεπιλεγμένες τιμές που ορίζονται κατά τη δημιουργία του αντικειμένου.
Παράδειγμα σε Swift:
class Person {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
convenience init(name: String) {
self.init(name: name, age: 0)
}
}
let p1 = Person(name: "Иван", age: 30)
let p2 = Person(name: "Мария")
Στο Objective-C, η αρχικοποίηση γίνεται συνήθως μέσω της μεθόδου -init ή προσαρμοσμένων αρχικοποιητών, π.χ.:
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
self = [super init];
if (self) {
_name = name;
_age = age;
}
return self;
}