Swift 中的继承

继承方法、属性、其他特征(比如,下标)。还可以为继承来的属性添加属性观察器。

重写

子类可以提供自定义实现,包括,实例方法、类方法、实例属性、类属性、下标。

override 前缀,表征重写意图。

super 访问超类。

重写属性

子类不知道超类中的属性是存储属性还是计算属性,只知道其名字和类型。
在重写时,始终标明名字和类型。

可以将只读属性重写为读写的,而不能将一个读写属性重写为只读的。

提供了 setter,也必须提供 getter

重写属性观察器

继承而来的属性如果无法改变(比如常量的存储属性、只读的计算属性),那不能为其提供观察器。

不能同时提供 setter 和观察器。毕竟你可以直接在 setter 中观察对属性的改变。

防止重写

final 关键字表征方法、属性、下标不能被重写。
扩展中的方法、属性、下标也可以用 final 标注。

还可以用 final 标记整个类,表征该类不能被继承。

你可能感兴趣的:(Swift 中的继承)