继承
Swift通过检查重写定义都有一个与之匹配的父类定义来确保重写是正确的
定义一个基类
子类
基于现有类创建新类的行为
重写
override
没有使用override关键字的重写会在编译时被诊断为错误
访问父类的方法、属性和下标脚本
重写方法
重写属性
可以在继承类里为父类的属性提供自定义的的getter
和setter
,或者添加属性观察器
重写属性的GETTER和SETTER
继承的属性是存储属性还是计算属性对子类不透明,它仅仅知道继承的属性有个特定的名字和类型
可以通过在子类重写里为继承而来的只读属性添加Getter和Setter来把它用作可读写属性,但是不能把一个继承而来的可读写属性表示为只读属性
依然要添加override关键字
重写属性观察器
不能给继承而来的常量存储属性或者只读的计算属性添加属性观察器。因为这些属性的值不能被设置
也不能为同一个属性同时提供重写的setter和重写的属性观察器。如果想要监听属性值的改变,并且已经为那个属性提供了一个自定义的setter,那么可以从自定义的setter里监听任意值的改变
阻止重写
在方法、属性或者下标前面加上final修饰符
类前面也可以添加final,表示不能被继承