1.定義一個(gè)基類
不繼承于其它類的類被稱為基類。
class Vehicle {
var currentSpeed = 0.0
var description: String {
return "traveling at \(currentSpeed) miles per hour"
}
func makeNoise() {
// 什么也不做-因?yàn)檐囕v不一定會(huì)有噪音
}
}
Vehicle是一個(gè)基類?;惗x了一個(gè)名為makeNoise的方法。
2.子類生成
超類名寫在子類名的后面,用冒號(hào)分割:
class SomeCliss: SomeSuperclass{
}
3.重寫
子類可以為繼承來的實(shí)例方法,類方法,實(shí)例屬性活下標(biāo)提供自己定制的實(shí)現(xiàn),這叫重寫。
可以通過
super.方法名()來調(diào)用超類的方法。
可以通過super.屬性名來訪問超類的屬性.
在下標(biāo)的重寫實(shí)現(xiàn)中,可以通過super[xxx]來訪問超類版本中的相同下標(biāo)。
*重寫方法
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{ //......... } } } 防止重寫
通過把方法,屬性,下標(biāo)標(biāo)記為final來防止被重寫。