微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/swift/324760.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐