swift继承

继承

值类型并不支持继承,只有类支持继承

基类:没有父类的类。Swift并没有像OC、Java那样的规定:任何类最终都要继承自某个基类

override:子类可以重写父类的下标、方法、属性,重写必须加上override关键字

重写

重写时,属性名、类型要一致

计算,存储属性

子类可以将父类的属性(存储、计算)重写为计算属性

子类不可以将父类属性重写为存储属性

var let

只能重写var属性,不能重写let属性

权限

子类重写后的属性权限 不能小于 父类属性的权限

如果父类属性是只读的,那么子类重写后的属性可以是只读的、也可以是可读写的

如果父类属性是可读写的,那么子类重写后的属性也必须是可读写的

实例属性、类型属性

被class修饰的计算类型属性,可以被子类重写

被static修饰的类型属性(存储、计算),不可以被子类重写

属性观察器

可以在子类中为父类属性(除了只读计算属性、let属性)增加属性观察器

final

被final修饰的方法、下标、属性,禁止被重写

被final修饰的类,禁止被继承

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