swift基础笔记7-继承
摘要:一个类可以继承(inherit)另一个类的方法(methods),属性(properties)和其它特性。当一个类继承其它 类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区 分「类」与其它类型的一个基本特征。 定义一个基类不继承于其它类的类,称之为基类(base calss)。 子类生成//MARK:-Subclassing举例
class Bicyle:Vehicle{
var hasBasket = false
}
重写子类可以为继承来的实例方法(instance method),类方法(class method),实例属性(instance proper ty),或下标脚本(subscript)提供自己定制的实现(implementation)。我们把这种行为叫重写(overridin g)。 //MARK:-Overriding
class Car: Vehicle {
var gear = 1
//重写计算型属性
override var description:String{
return super.description+"in gear(gear)"
}
//重写方法
override func makeNoise() {
print("motol will make noise while running")
}
}
//重写属性观察期setter和getter
class AutomaticCar: Car {
override var currentSpeed:Double{
didSet{
//自动设置合适档位gear
gear = Int(currentSpeed/10.0)+1
}
}
}
//---------------------------------------------
let subClassInstance = Bicyle()
print("Bicyle:(subClassInstance.description)")
let carInstance = Car()
carInstance.gear = 3
carInstance.currentSpeed = 25.0
print("car:(carInstance.description)")
let automicInstance = AutomaticCar()
automicInstance.currentSpeed = 35.0
print("automaticCar:(automicInstance.description)")
防止重写通过把方法,属性或下标脚本标记为 final 来防止它们被重写,只需要在声明关键字前加上 final 特性即可。(例如: final var,) swift基础笔记,不喜勿喷,欢迎指点! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |