Sobes.tech
Junior — Middle

Welche Methoden zur Objektinitialisierung kennst du und verwendest du in Klassen?

sobes.tech KI

Antwort von AI

In iOS (Swift/Objective-C) werden verschiedene Methoden zur Initialisierung von Objekten in Klassen verwendet:

  1. Initialisierer (initializers) — spezielle Methoden, die den Anfangszustand des Objekts festlegen. In Swift ist das init(), in Objective-C sind es die Methoden -init.

  2. Initialisierer mit Parametern — ermöglichen das Festlegen von Anfangswerten bei der Objekterstellung.

  3. Delegierende Konstruktoren — ein Initialisierer ruft einen anderen auf, um Code-Duplikation zu vermeiden.

  4. Initialisierung durch Standard-Eigenschaften — Klassen-Eigenschaften können Standardwerte haben, die bei der Objekterstellung gesetzt werden.

Beispiel in 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: "Мария")

In Objective-C erfolgt die Initialisierung üblicherweise über die Methode -init oder benutzerdefinierte Initialisierer, z.B.:

- (instancetype)initWithName:(NSString *)name age:(NSInteger)age {
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}