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修饰的属性方法、下标脚本都不能被子类重写

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...