Swift学习笔记-继承

1.方法的重写

需要在重写的方法前加 override。

override func makeNoise() {
        print("这是子类")
    }
  • 在属性someProperty的 getter 或 setter 的重写实现中,可以通过super.someProperty来访问超类版本的someProperty属性。
  • 在下标的重写实现中,可以通过super[someIndex]来访问超类版本中的相同下标。

2.重写属性

///相当于get方法的省略写法
override var description: String {
        return "zc"+super.description
    }

也可以写为可读可写的:

override var description: String {
        get {
            return "zc"+super.description
        }
        set {
            currentSpeed = 20
        }
    }

3.重写属性观察器

  • 不能为继承来的常量存储属性或者只读计算属性添加属性观察器,因为这些属性是可读的。
  • 你不能同时重写setter方法和属性观察,因为你可以直接在setter方法中观察了。

4.防止重写

  • 在方法前添加 final 可以防止方法被重写
  • 在class前添加 final 可以防止类被继承
    (例如:final var,final func,final class func,以及final subscript)。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 标签(空格分隔): 未分类 基础(相关概念) 1.元祖 元组(tuples)把多个值组合成一个复合值。元组内的值可...
    一生信仰阅读 620评论 0 0
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,436评论 2 4
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,896评论 1 10
  • 基础部分(The Basics) 当推断浮点数的类型时,Swift 总是会选择Double而不是Float。 结合...
    gamper阅读 1,344评论 0 7
  • 类别:方法书名:《超级阅读术》著者:[日]斋藤孝译者:赵仲明出版:北京联合出版公司字数:188千字版次:2016年...
    格桑菩提子阅读 1,355评论 0 0