標籤:繼承 swift 類 執行個體 對象
Swift學習——類的定義,使用,繼承,構造等(五)
類的使用說明
1 使用class和類名來建立一個類名,例如: class student
2 類中屬性的聲明和常量和變數一樣,唯一的區別就是他們的上下文是類
3 方法和函式宣告也一樣
// 1 ---- 簡單的類介紹class Student{ //變數學號初始化為0 var num = 0; //成員函數 func GetNum()->Int{ return num }}//建立類的執行個體對象var student = Student()//訪問類的成員變數student.num = 1//訪問類的成員函數var Num = student.GetNum()//列印出類的變數和成員函數println("student1 num is \(student.num)")println("student2 num is \(Num)")// 2 ---- 類中的建構函式和解構函式/* 建構函式 init 解構函式 deinit*/class StudentLow{ var numberlow:Int = 0 var namelow:String //建構函式,構造器來賦值 init(namelow:String){ /* self被用來區別執行個體變數,當你建立執行個體的時候,像傳入函數參數一樣給類 傳入建構函式的參數。每個屬性都需要賦值-無論是通過聲明(numberlow) 還是通過建構函式(就像namelow) */ self.namelow = namelow } func simpleDescription()->String{ return "I am is low studnet" } }//注意我的建構函式有參數,這裡我建立執行個體對象時,要加上參數才正確var studentlow1 = StudentLow(namelow:"Jhon")studentlow1.numberlow = 2println("studentlow1 num is \(studentlow1.numberlow)")println("studentlow1 name is \(studentlow1.namelow)")println("studentlow1 information is \(studentlow1.simpleDescription())")// 3 ---- 繼承類,建立StudentLow的子類StudentHight/* 繼承說明: 子類的定義方法是在它們的類名後面加上父類的名字,用冒號分割。 建立類的時候並不需要 一個標準的根類,所以你可以忽略父類。*/class StudentHight:StudentLow{ var grade:Double init(grade:Double,name:String){ self.grade = grade //注意namelow:name參數傳遞 super.init(namelow:name) numberlow = 3 } func Grade()->Double{ return grade*0.9 } //子類如果要重寫父類的方法的話,需要用 override 標記——如果沒有添加 override 就重寫 父類方法的話編譯器會報錯。 //編譯器同樣會檢測 override 標記的方法是否確實在父類中。 override func simpleDescription()->String{ return "I am a hight student" } }//建立執行個體對象let studenthight1 = StudentHight(grade:98,name:"lucy")println("studenthight1 num is \(studenthight1.numberlow)")println("studenthight1 name is \(studenthight1.namelow)")//調用函數println("Greades is \(studenthight1.Grade())")println("studenthight1 grade is \(studenthight1.grade)")//調用函數println("studenthight1 information is \(studenthight1.simpleDescription())");