Swift - Inheritance

Inheritance

  • 类能添加属性观察者到继承属性中,无论是存储还是计算属性
  • 某个类没有继承于其他类,就是基类
  • Swift 不会继承一个通用的基类,类在定义时没有指定一个父类,自动变成基类
class SomeSubclass: SomeSuperclass {
}

Usage

  • 子类重写 override
  • 访问父类方法,属性和下标 super

重写属性 getter and setter

  • 可以继承一个只读的属性提供可读写属性
  • 不可继承一个可读写的属性提供只读属性
  • 如果重写一个属性的 setter,必须重写 getter 方法
  • 如果不想修改到继承的值可以直接 return super.someProperty

重写属性观察

  • 不能添加属性观察去继承 常量存储属性 或 只读的计算属性
  • 不能对于一个属性同时重写 setter 和 属性观察者。如果需要观察值的改变,又需要自定义 setter,可以只简单观察任何值改变在 setter 中

阻止重写

  • final 关键字:Function / Property / Subscripts
  • extension 也能用
  • final class 标记为不能被继承

你可能感兴趣的:(Swift - Inheritance)