1.定義一個基類
不繼承于其它類的類被稱為基類。
class Vehicle {
var currentSpeed = 0.0
var description: String {
return "traveling at \(currentSpeed) miles per hour"
}
func makeNoise() {
// 什么也不做-因為車輛不一定會有噪音
}
}
Vehicle是一個基類「危基類定義了一個名為makeNoise的方法。
2.子類生成
超類名寫在子類名的后面,用冒號分割:
class SomeCliss: SomeSuperclass{
}
3.重寫
子類可以為繼承來的實例方法胸竞,類方法欺嗤,實例屬性活下標提供自己定制的實現(xiàn),這叫重寫撤师。
可以通過
super.方法名()
來調(diào)用超類的方法剂府。
可以通過super.屬性
名來訪問超類的屬性.
在下標的重寫實現(xiàn)中,可以通過super[xxx]
來訪問超類版本中的相同下標剃盾。
*重寫方法
class Train:Vehicle{
override func makeNoise(){
}
}
-
重寫屬性
class Car:Vehicle{ var gear = 1 override var description: String { return super.desciption + "in gear \(gear)" } }
-
重寫屬性觀察器
class Car:Vehicle{ override var description: String { didSet{ //......... } } }
防止重寫
通過把方法,屬性淤袜,下標標記為final
來防止被重寫痒谴。