1. 程式人生 > >swift 值呼叫

swift 值呼叫

//新建工程以英文命名(5分) //建立一個基類Person(5分) //在基類中定義方法奔跑run(5分) //run內實現列印字串“向前全速奔跑”(5分) //建立一個繼承自Person的Teacher類(5分)

//在Teacher類中定義方法teach(5分) //在teach函式中實現在控制檯列印字串“上課要遲到了”(5分) //在teach函式中呼叫其父類的run函式(5分) //建立一個類Student並繼承與Person(5分) //定義屬性name (5分) //在Student中監聽屬性name的setter和getter(5分) //在Student類中重寫父類的run方法,實現列印字串“體育課上跑了800米”(5分) //在Student類中定義一個只讀的屬性 ,用來表示學生的身高“175cm”(5分) //在Student類中懶載入一個屬性age用來表示學生的年齡“18歲”(5分) //為Student類定一個建構函式,在函式內為所有屬性賦值(5分) //在Student類中定義一個show方法,用來列印學生資訊(5分) //show函式限定是公開訪問的 (5分) //重寫Student類的解構函式,在函式內實現所有屬性的清空,並列印“呼叫了解構函式”(5分)

main

var Per:Person? = Person() Per?.run()

var tea:Teacher? = Teacher() tea?.teach()

var Fu:Student? = Student(name: “楊”, age1: “18歲”) Fu?.run() Fu?.name=“yang” Fu?.name=“xiaoyang” Fu = nil

Person

func run() { print(“向前全速奔跑”) }

Teacher

func teach() { print(“上課要遲到了”)

// let Per:Person? = Person() super.run()

}

Student

var name: String = “” { willSet { //newValue name = “yang” print(“即將發生改變 newValue = (newValue)”) } didSet{ //oldValue name = “xiaoyang”

        print("已經發生改變 oldValue = \(oldValue)")
    }
}

//重寫 override func run() { print(“體育課上跑了800米”) } // 只讀屬性 var onlyRead: String { set{

    }
    get{
        self.onlyRead = "175cm"
        print("學生的身高為\(self.onlyRead)")
        return self.onlyRead
    }
}

//懶載入 lazy var age: String = “18歲”

//建構函式 init(name:String,age1:String) { super.init() //使用引數的name設定給屬性 self.onlyRead = name self.age = age1 //呼叫父類的建構函式

}

//資訊 func show() { print(“學生資訊”)

}

//解構函式 deinit { self.age = “” self.name = “” print("呼叫了解構函式 ") }