Swift 中的继承 与 重写
来源:互联网 发布:手机上怎么找淘宝链接 编辑:程序博客网 时间:2024/06/05 18:45
Swift 继承:
- 面向对象编程语言的一个重要的功能就是继承,继承的主要描述就是类与类的关系,通过继承可以在不必重写类的情况下,使用原有类的功能和进行扩展
继承的实现
- 属性的继承
- 方法的继承
- 属性观察器的继承
- 下标脚本的继承(代码中没有写)
代码示例
class Person { //存储属性 var name = "老王" //类型属性 static var age = 18 //计算属性 var description : String { return "我的姓名\(name),年龄:\(Person.age)" } //属性观察器 var height : Int = 180 { willSet { } didSet { Person.age = 20 print("-----\(Person.age)") } } //方法 func run() { print("正在跑") } static func play() { print("玩篮球") }}class Stu : Person {}//属性的继承Stu.age//方法的继承Stu.play()let stu1 = Stu()//属性的继承stu1.namestu1.description//属性观察器的继承stu1.height = 160//方法的继承stu1.run()
重写的实现
- 属性的重写
- 方法的重写
- 属性观察器的重写
- 下标脚本的重写(代码中没有写)
代码示例
class Teacher { //存储属性 var name = "老王" //类型属性 class var age : Int { return 18 } //计算属性 var description : String { return "我的姓名\(name),年龄:\(Person.age)" } //属性观察器 var height : Int = 180 { willSet { } didSet { Person.age = 20 print("-----\(Person.age)") } } //方法 func run() { print("正在跑") } class func play() { print("玩篮球") }}class tech : Teacher { var tempName : String = "" //重写存储属性 override var name: String { get { return self.tempName } set { self.tempName = newValue } } //重写计算属性 override var description : String { return "我的姓名\(name)" } //重写类型属性 override class var age : Int { return 23 } //重写属性观察 override var height : Int { willSet { } didSet { Person.age = 20 print("-----\(Person.age)") } } //重写实例方法 override func run() { print("跑步") } //从写类型方法 override class func play() { print("玩排球") }}tech.play()tech.agelet t1 = tech()t1.run()t1.height = 200t1.name = "老王"t1.description
阅读全文
0 0
- Swift 中的继承 与 重写
- 13.Swift-继承与重写
- js中的继承与重写
- Swift-继承、重写
- C#中的继承、隐藏与重写
- Java中的继承,重写与遮蔽
- Swift 系统学习 26 Swift语言中的继承, 多态和重写
- 继承中的方法重写
- 继承中的方法重写
- 继承中的重写
- Swift中的willSet与didSet(重写属性的Set方法)
- 继承与重写:
- JS 继承与重写
- 关于继承与重写
- 继承与重写
- 不能说的秘密-重载、重写与继承中的构造方法
- js继承中的方法重写
- JAVA中的继承和重写
- python里使用Future对象来异步返回结果
- 数据库——约束、断言、触发器
- 面试题整理(持续更新)
- iOS推送与角标总结
- UVaLive 2678(LA)Subsequence SEERC 2006 题解
- Swift 中的继承 与 重写
- [CSS3]对line-height的理解,什么时候使用line-height合适
- keepalive之LVS-DR架构
- 包装类
- httpclient-ssl+https校验+springboot ssl
- C#使用Mail类发送QQ邮件
- Mark
- html,css遇到的问题
- C 链表 木有用,写着玩