Swift學習——類的定義,使用,繼承,構造等(五)

來源:互聯網
上載者:User

標籤:繼承   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())");


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.