//************重写父类的存储属性***********//
class car {
var name:String = "b"
}
class trunk: car {
override var name:String {
get {
return super.name
}
set {
super.name = newValue
}
}
}
var tt = trunk()
tt.name = "tom"
//*************重写父类的计算属性*********//
class Ccircle {
var PI:Double {
return 3.14
}
}
class ccc: Ccircle {
override var PI:Double {
get {
return 55
}
set {
newValue
}
}
}
var cccc = ccc()
cccc.PI = 90
//******************总结*******************************//
//子类无论是重写父类的存储属性还是计算属性,都是拦截父类的set get方法进行操作。区别是当子类重写了父类的计算属性的时候是无法再set方法中将newValue存储到super的属性中的。类属性的重写和重写父类的计算属性一样,因为类属性只能是计算属性
// final的作用:被final修饰的属性、方法、下标脚本都不能被子类重写
原文地址:https://www.jb51.cc/swift/324760.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。