//定义基类
class Veh {
var number: Int
varmax: Int
func descrip() -> String {
return"\(number)----\(max)"
}
//init()是构造器,在实例化这个类的时候调用它
init() {
number =0max=1
}
}
let someV = Veh()
//定义子类classChild : Veh {override init(){
super.init()//初始化父类
number = 2//重新初始化父类属性
}
}
let child = Child()
print(child.descrip())
//方法重写//子类能够重写父类的方法,属性,下标classCar: Veh {var speed: Double = 0.0override init() {
super.init()
max = 5
number = 4
}
override func descrip() -> String { //重写的方法前面要添加关键字override//super指代父类实例returnsuper.descrip() + "----\(speed)"
}
}
let car = Car()
print(car.descrip())
//属性重写//主要是对属性的get,set访问器的重写classSpeedL: Car {overridevar speed: Double {
get {
returnsuper.speed
}
set {
super.speed = min(newValue, 40.0)
}
}
}
let lim = SpeedL()
lim.speed = 60.0
print(lim.descrip())
//定义基类class Veh { var number: Int var max: Int func descrip() -> String { return"\(number)----\(max)" } //init()是构造器,在实例化这个类的时候调用它 init() { number = 0 m