您的位置:首页 > 移动开发 > Swift

Swift 继承

2015-12-30 08:51 197 查看
//定义基类
class Veh {
var number: Int
var max: Int
func descrip() -> String {
return"\(number)----\(max)"
}
//init()是构造器,在实例化这个类的时候调用它
init() {
number = 0
max = 1
}
}
let someV = Veh()


//定义子类
class Child : Veh {
override init(){
super.init()//初始化父类
number = 2  //重新初始化父类属性
}
}
let child = Child()
print(child.descrip())


//方法重写
//子类能够重写父类的方法,属性,下标
class Car: Veh {
var speed: Double = 0.0
override init() {
super.init()
max = 5
number = 4
}
override func descrip() -> String {  //重写的方法前面要添加关键字override
//super指代父类实例
return super.descrip() + "----\(speed)"
}

}
let car = Car()
print(car.descrip())


//属性重写
//主要是对属性的get,set访问器的重写
class SpeedL: Car {
override var speed: Double {
get {
return super.speed
}
set {
super.speed = min(newValue, 40.0)
}
}
}
let lim = SpeedL()
lim.speed = 60.0
print(lim.descrip())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: