11.2 Swift中super关键字
/** super 关键字 派生类中的方法实现,可以通过super关键字来引用基类的属性和方法。
super不是父类的意思,是编译器的符号,只是告诉去父类找方法或属性,略过当前类不找。 */
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") }
// 派生类中使用基类的方法或属性 func eatAndSleep() -> Void {
// 先在当前类中寻找eat,如果没有再在父类中寻找 eat()
// 告诉当前类去 当前类的父类中寻找方法 sleep super.sleep() birth() } }
let w = Woman.init()
let h = Human.init()
w.eat() w.sleep() w.birth()
h.eat() h.sleep() (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |