11.4 Swift重写属性

前端之家收集整理的这篇文章主要介绍了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()

@H_72_403@ // 通过子类的对象来调用重写后的属性或者方法,肯定会调用子类中的重写版本

ch.storeProperty = 100

ch.computeProperty = 200

原文链接:https://www.f2er.com/swift/322393.html

猜你在找的Swift相关文章