/**
(1)继承语法
继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类。
新的类吸收已有类的数据属性和行为,并且扩展新的能力。
术语:基类(父类,超类),派生类(子类,继承类)
Swift继承的语法:
class ChildClass: FatherClass {
}
继承的优点:代码重用。
Swift没有多继承,只有单继承。
*/
class Human {
var name: String = ""
var id: Int = 0
func eat() -> Void {
print("eat")
}
func drink() -> Void {
print("drink")
}
func sleep() -> Void {
print("sleep")
}
}
// 子类 : 基类
class Woman: Human {
func birth() -> Void {
print("birth")
}
}
let w = Woman.init()
let h = Human.init()
w.eat()
w.sleep()
w.birth()
h.eat()
h.sleep()
// 不可以调用
// h.birth()
/**
总结:派生类,派生于基类。它继承类基类的属性和方法,当然在swift语言中是这样的,我们可以
认为它实现了复用,我们在派生类里面并没有定义的属性和方法,但是我们可以直接拿来用。
继承也有缺点的,比如说父类发生了改变,那么肯定会影响到它的子类,
比如从编译的角度讲,可能需要我们重新编译程序,从子类讲可能会让子类的行为发生了改变你还不知道呢。
就是父类和子类之间的耦合度太密切了啊。
*/