swift学习笔记(4)关于类的继承

swift学习笔记(四)关于类的继承

在swift中,继承是区分类与其他对象的基本特征

继承后的子类可以重写父类的方法,包括类方法和实例方法,属性和附属脚本(subscript)

在继承过程中,构造器方法init()是不被继承的,需要显示标明

class Tandem: Bicycle {
 init() {
 super.init()
 maxPassengers = 2
 } 
 }

子类只可以修改从父类继承来的变量属性,而不可以修改常量let属性


关于重写override

重写方法:可以通过super.function来重写父类的方法

重写属性:

你在重写一个属性时,必需将它的名字和类型都写出来。这样才能使编译器去检查你重写的属性是与超类中同名同类型的属性相匹配的。

在重写属性中,提供了setter方法后,必须要提供get方法


重写属性观察器:适用于变量,而非常量或者只读计算型属性。因为常量和只读类型是不可以被修改的,所以不需要去观察其值是否会改变。同时,不可以同时提供重写setter和重写属性观察器。因为两者都是为了观察值的变化,在有了setter方法后,就可以实时监控质的变化,不需要属性观察器再去观察值是否有变化。


如果不想让某些方法、属性和subscript被重写,在前面添加@final即可