11.4 Swift重写属性
/** 上一节课研究了如何重写方法, 这节课研究如何重写属性。 (4)重写属性 */
class Father { var storeProperty: Int = 0 // 存储属性 var computeProperty: Int { // 计算属性 get { return 0 }
set { print("In FatherClass: set(newValue)") } } }
class Child: Father {
/** 可以将一个父类的存储属性重写成计算属性, 不可以将一个父类的存储属性再重写成存储属性。 */ override var storeProperty: Int { get { return 0 }
set { print("In ChildClass set: storeProperty with value (newValue)") } } /** 可以将父类中的技术属性重写,重写的样式也是计算属性 */ override var computeProperty: Int { get { return 10 }
set { print("In ChildClass set: coputeProperty with value (newValue)") } }
}
let ch = Child.init()
// 通过子类的对象来调用重写后的属性或者方法,肯定会调用子类中的重写版本
ch.storeProperty = 100 ch.computeProperty = 200 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |