参考书籍:
[1]管蕾.张玲玲.朱元波.Swift开发实战[M]. 北京:人民邮电出版社.2014.10-1 ISBN 978-7-115-36827-0
[2]陈隽.刘媛媛.Swift入门很简单[M]. 北京:清华大学出版社.2015.01-01 ISBN 978-7-302-38880-7
一、重写
子类可以完全继承父类的属性、下表脚本以及方法。但是如果子类相对父类特征做一下修改,这种修改方式就叫做重写。
1、重写属性
1.1重写计算属性
语法形式:
override var 属性名:数据类型{ get{ ... return 某一属性值 } set{ ... 属性值=某一直 ... } }
例如:
class MewClass2:NewClass1{ override var value:Int{ return 70 } }
1.2重写类型属性
语法形式:
override class var 属性名:数据类型{ ... 返回一个值 }
如:
class NewClass2:NewClass1{ override class var value:Int{ return 200; } }
1.3添加属性监视器
语法形式:
override var 属性名:数据类型=初始值{ willSet(){ ... } didSet{ ... } }
1.4重写下表脚本
用时再看
1.5重写方法
override func 方法名(参数列表)->返回值类型{ }
2、注意事项
2.1不可省略override关键字
2.2 方法相同时才能重写
2.3访问父类成员
3、访问父类成员
子类重写父类属性、下表脚本、方法后,有时还需要访问父类的相对应的部分。
3.1访问属性
super.属性名
3.2访问下标
super[下标]
3.2访问方法
super.方法名(参数列表)
4、阻止重写
对属性、下标脚本、方法使用final属性
二、类型检查
1、类型检查 is
is 操作符可以检查一个实例是否属于特定子类型,语法形式:
实例 is 子类型
2、类型检查 as
开发者希望程序运行期间进行类型转换,需要使用强制转换形式检查符as或可选转换形式类型检查符as?
2.1强制转换形式
实例 as 类型
2.2可选类型转换
实例 as? 类型
3、AnyObject和Any
对于一些类型不明确的类型,swift提供了两种类型别名检查,分别是AnyObject和Any