继承(inherit) 单向关系
1、定义:某个类通过继承语法而获取另一个类的属性和方法。
2、最大好处:实现代码复用(父类中的属性和方法可以被子类直接使用),子类还可以拓展父类的方法和属性
3、缺点:增加了程序“耦合性”(如:父类发生改变,子类代码可能需要重新构造,相关代码也需要重新编译)
4、Swift中只有单继承(通过“扩展”和“协议”实现多继承)
5、!!!继承是类与结构和枚举等类型最重要的区别之一
6、!!!Swift中不仅可以重写方法还可以重写属性
构造方法(构造一个对象时被调用的方法)
构造方法最主要的作用就是:对对象进行初始化(即给对象所占用的内存进行初始化)
/*
* 类扩展(extension关键字)
给现有类添加一个方法,缺点是不能扩展增加存储属性
*/
class Person {
var height:Double?
var sex:Bool = true
}
extension Person{
//扩展的构造方法
convenience init(height:Double){
self.init()
self.height = height
}
//扩展的计算属性
var standardWeight:Double{
let e = self.sex ? 22.0 : 20.0
return height! * height! * e
}
//扩展的普通方法
func getResults() -> String {
return "计算体重"
}
}
var p = Person(height:2.3)
print(p.standardWeight)
print(p.getResults())