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.
..