Implizite Variablendeklaration gilt beim Konstruktor nicht
Swift kennt die implizite Variablendeklatration: let a = 5. So ist die Variable a implizit ein Integer.
class Shape { var numberOfSides = 0 init(numberOfSides:Int){ self.numberOfSides = numberOfSides }
Instanzierung bedingt Wertzuweisung
Bei der Instanzierung muss dem Argument ein Wert zugewiesen werden.
var s1 = Shape(numberOfSides: 4); // numberOfSides = 4
Konstruktor einer vererbten Klasse
Der Konstruktor muss mindestens die Argumente der Superklasse enthalten. Kann auch eigene Klassenvariablen zusätzlich auflisten
init(numberOfSides:Int, name:String){ super.init(numberOfSides = numberOfSides) // Zuweisung Superklasse self.name = name // Zuweisung zu eigener Klassenvariable }
Mehr Details zur Vererbung in anderem Beitrag.
..