- Alle Swift Objekte sind Subklassen der Klasse NSObjekt oder einer ihrer Subklassen. Die Superklasse wird mit : in der Definition angegeben
class A: Superklasse. - Das Init muss alle Paramter der Superklasse enthalten und weist dieser mit super.init(variable1 = variable1) einen Wert zu
- Variablen der Superklasse können (ohne super) im init überschrieben werden. variable2 = 5;
- Funktionen werden ausserhalb des init() überschrieben und brauchend das keyword override.Bsp der iOS Developper Site
class NamedShape { var numberOfSides = 0 var name: String init(name: String) { self.name = name // self für eigene Klassenvariable } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } class Square: NamedShape { var sideLength: Double init(sideLength: Double, name: String) { self.sideLength = sideLength // eigene Klassenvariable super.init(name: name) // Variable der Superklasse numberOfSides = 4 // Überschreibt Variable der Superklasse } func area() -> Double { return sideLength * sideLength } override func simpleDescription() -> String { return "A square with sides of length \(sideLength)." } } let testSquare = Square(sideLength: 5.2, name: "my test square") testSquare.area() testSquare.simpleDescription()
..