Swift文档Chapter 13 继承
一个类可以继承另一个类的方法,属性和其他特性。继承类叫做子类,被继承类叫做超类或者父类。继承只有类可以做到。
定义一个基类
不继承别的类的类称为基类。Swift中的类不会默认继承一个基类(和Java的object类不同)。
子类生成
对一个类定义超类的方法是在类名后加上冒号标注超类。
class SomeClass: SomeSuperclass {
// 这里是子类的定义
}
子类也可以被其他类继承。
重写
把继承来的实例方法,类方法,实例属性,类属性或者下标提供自己的实现称为重写。
如果要进行重写,必须使用override
关键字,否则就会报错。
超类的方法,属性及下标访问
超类的访问使用super
进行访问,可以使用点运算符访问方法和属性或者用方括号访问下标。
重写方法
直接在func
属性前加上override
就可以重写。
重写属性
重写属性的Getter和Setter
任何属性都可以被重写,不论是存储型还是计算型。检查器只会检查名字和类型是否是一致的。只读类型可以重写为读写属性,只要声明了getter和setter即可,但是读写属性不可以重写为只读属性。只需将override
写在let
或者var
之前即可。
重写属性观察器
常量存储型和只读计算型属性不可以添加观察器。不可以同时提供重写的setter和重写的属性观察器,直接在重写的setter中实现属性检查器的功能即可。
防止重写
使用final
关键词可以防止重写。在属性,方法下标声明前加入就可以防止重写。如果在整个类前使用,那么这个类不可以被继承。