11.3 Swift重写方法

前端之家收集整理的这篇文章主要介绍了11.3 Swift重写方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

/**

重写方法

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")

}

// 如果重写方法 需要在最前面加上关键字,override

// private

override func eat() {

print("\(name)Woman eat")

}

// 派生类中使用基类的方法属性

func eatandSleep() -> Void {

// 先在当前类中寻找eat,如果没有再在父类中寻找

eat()

// 告诉当前类去 当前类的父类中寻找方法 sleep

super.sleep()

birth()

}

}

let h = Human.init()

let w = Woman.init()


w.name = "Tom"

w.id = 0987666

// 通过子类的对象调用方法,优先使用本类中的重写方法

w.eat()

w.sleep()

w.birth()

h.eat()

h.sleep()

原文链接:https://www.f2er.com/swift/322394.html

猜你在找的Swift相关文章