1.方法的重寫
需要在重寫的方法前加 override。
override func makeNoise() {
print("這是子類")
}
- 在屬性someProperty的 getter 或 setter 的重寫實現(xiàn)中,可以通過super.someProperty來訪問超類版本的someProperty屬性筒严。
- 在下標(biāo)的重寫實現(xiàn)中蓬戚,可以通過super[someIndex]來訪問超類版本中的相同下標(biāo)敬辣。
2.重寫屬性
///相當(dāng)于get方法的省略寫法
override var description: String {
return "zc"+super.description
}
也可以寫為可讀可寫的:
override var description: String {
get {
return "zc"+super.description
}
set {
currentSpeed = 20
}
}
3.重寫屬性觀察器
- 不能為繼承來的常量存儲屬性或者只讀計算屬性添加屬性觀察器牛哺,因為這些屬性是可讀的。
- 你不能同時重寫setter方法和屬性觀察篙耗,因為你可以直接在setter方法中觀察了迫筑。
4.防止重寫
- 在方法前添加 final 可以防止方法被重寫
- 在class前添加 final 可以防止類被繼承
(例如:final var,final func宗弯,final class func脯燃,以及final subscript)。