swift物件導向特性——類和結構體

weixin_34041003發表於2017-02-27

類和結構體的定義

類的語法格式為:

class 類名
{
        //在這裡定義類的內容
}

結構體的語法格式為:

struct 結構體名稱
{
        //在這裡定義結構體的內容
}

Swift中類和結構體的名稱都以大寫字母開頭。類的方法和屬性使用小寫字母開頭
eg_類:

class Student{
        var number:Int = 0
        var name:String = ""
        var height:Int = 0
        var weight:Int = 0
        fun demo(){
           print("Student")
       }
}

let stu Student()
stu.demo()

eg_結構體:

struct Person
{
    var name:String = "張三"
    var age:Int = 20
}
let per = Person()
print("名字:\(per.name)")
print("名字:\(per.age)")

定義結構體時,所包含的屬性都有預設值,此時構造結構體例項

var per Person()

如果結構體中的屬性沒有預設值,那麼使用結構體的建構函式來例項化結構體。

var stu = Student(name,"小明",age:10)

在swift結構體中,還可以定義方法。

struct Teacher
{
    var name : String
    var age: Int
    var knowledge:String
    fun teachStudent()->String
   {
    return knowledge
   }
}

Swift提供了兩個恆等式運算子(===和!==)用來監測兩個常量或者變數是否引用同一個類例項。
在Swift中,只有類型別是引用型別,其餘的一切都是值型別。所以結構體的例項,以及例項中所包含的任何值型別屬性,在程式碼中傳遞的時候都會被複制。
結構體是值型別,當一個值型別例項作為常量而存在,它的所有屬性也將作為常量而存在。而這個特性對類並不適用,因為累是引用型別。如果將引用型別的例項賦值給常量,依然能夠改變例項的變數屬性。

相關文章