Swift学习笔记-继承

参考书籍:
[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