Swift -繼承、屬性、重寫父類、懶載入、解構函式
阿新 • • 發佈:2018-12-17
1. 新建工程命名:zhoukaojineng,建立一個類Person,在類中定義方法eat,實現列印“吃飯” 2. 建立一個繼承自Person的Teacher類,在Teacher類中定義方法teach,實現列印“上課”,呼叫其父類的eat函式 3. 建立一個類Student並繼承與Person,定義屬性name,在Student中監聽屬性name的setter和getter 4. 在Student類中重寫父類的eat方法,列印“吃了早餐” 5. 在Student類中定義一個只讀屬性weight,體重“70kg” 6. 在Student類中懶載入一個屬性age用來年齡“22歲”,為Student類定一個建構函式,在函式內為所有屬性賦值 7. 在Student類中定義一個show方法,用來列印學生資訊,函式是公開訪問的 8. 重寫Student類的解構函式,在函式內實現所有屬性的清空,並列印“呼叫了解構函式”
1. 新建工程命名:zhoukaojineng,建立一個類Person,在類中定義方法eat,實現列印“吃飯”
import Cocoa
class Person: NSObject {
func eat(){
print("吃飯")
}
}
建立一個繼承自Person的Teacher類,在Teacher類中定義方法teach,實現列印“上課”,呼叫其父類的eat函式 import Cocoa class Teacher: Person { func teach(){ print("上課") // let fulei:Person = Person() // fulei.eat() super.eat() } }
建立一個類Student並繼承與Person,定義屬性name,在Student中監聽屬性name的setter和getter 在Student類中重寫父類的eat方法,列印“吃了早餐” 在Student類中定義一個只讀屬性weight,體重“70kg” 在Student類中懶載入一個屬性age用來年齡“22歲”,為Student類定一個建構函式,在函式內為所有屬性賦值 在Student類中定義一個show方法,用來列印學生資訊,函式是公開訪問的 重寫Student類的解構函式,在函式內實現所有屬性的清空,並列印“呼叫了解構函式” import Cocoa class Student: Person { //3. 建立一個類Student並繼承與Person,定義屬性name,在Student中監聽屬性name的setter和getter var name:String = "小明"{ willSet(newValue){ print("新名\(newValue)") } didSet{ print("舊名\(oldValue)") } } //4. 在Student類中重寫父類的eat方法,列印“吃了早餐” override func eat() { print("吃了早餐") } //5. 在Student類中定義一個只讀屬性weight,體重“70kg” var weight:String{ return "70kg" } //6. 在Student類中懶載入一個屬性age用來年齡“22歲”,為Student類定一個建構函式,在函式內為所有屬性賦值 lazy var age:String = "22歲" init(name:String , age:String){ super.init() self.name = name self.age = age } //7. 在Student類中定義一個show方法,用來列印學生資訊,函式是公開訪問的 public func show(){ print("\(name) , \(age) , \(weight)") } //8. 重寫Student類的解構函式,在函式內實現所有屬性的清空,並列印“呼叫了解構函式” deinit { self.age = "" self.name = "" print("呼叫了解構函式") } }