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)。

你可能感兴趣的:(Swift学习笔记-继承)