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