swift自学笔记(五)(重写属性、final)
//************重写父类的存储属性***********// 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修饰的属性、方法、下标脚本都不能被子类重写 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |