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.重写
子类可以为继承来的实例方法,类方法,实例属性活下标提供自己定制的实现,这叫重写。
可以通过
super.方法名()
来调用超类的方法。
可以通过super.属性
名来访问超类的属性.
在下标的重写实现中,可以通过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
来防止被重写。
网友评论