位置:首頁 > 高級語言 > Swift教學 > Swift類

Swift類

在 Swift 中類是建立靈活的構建塊。類似於常量,變量和函數,用戶可以定義的類的屬性和方法。Swift給我們提供了聲明類,而無需用戶創建接口和實現文件的功能。Swift 允許我們創建類作為單個文件和外部接口,將默認在類一次初始化來創建。

使用類的好處

  • 繼承獲得一個類的屬性到其他類

  • 類型轉換使用戶能夠在運行時檢查類的類型

  • 初始化器需要處理釋放內存資源

  • 引用計數允許類實例有一個以上的參考

類和結構的共同特征

  • 屬性被定義為存儲值

  • 下標被定義為提供訪問值

  • 方法被初始化來改善功能

  • 初始狀態是由初始化函數定義

  • 功能被擴大,超出默認值

  • 確認協議功能標準

語法

Class classname {
   Definition 1
   Definition 2
    --- 
   Definition N
}

定義類

class student{
   var studname: String
   var mark: Int 
   var mark2: Int 
}

創建一個實例的語法:

let studrecord = student()

示例

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark = 300
}
let marks = studentMarks()
println("Mark is \(marks.mark)")

當我們使用 playground 運行上麵的程序,我們得到以下結果

Mark is 300

訪問類屬性作為引用類型

類屬性可使用 '.' 語法來訪問。屬性名稱由 "." 分離在實例名後。

class MarksStruct {
   var mark: Int
   init(mark: Int) {
      self.mark = mark
   }
}

class studentMarks {
   var mark1 = 300
   var mark2 = 400
   var mark3 = 900
}
let marks = studentMarks()
println("Mark1 is \(marks.mark1)")
println("Mark2 is \(marks.mark2)")
println("Mark3 is \(marks.mark3)")

當我們使用 playground 運行上麵的程序,得到以下結果

Mark1 is 300
Mark2 is 400
Mark3 is 900

類標識符

在 Swift 引用多個常量和變量指向的單個實例。要了解常量和變量指向一個特定的類實例標識操作符的使用。 類實例總是通過引用傳遞。在類NSString,NSArray 和 NSDictionary 實例始終分配作為參考傳遞到現有的實例,而不是使用一個副本。

等同運算符 不相同操算符
使用的操作符是 (===) 使用的操作符是 (!==)
當兩個常量或變量指向同一個實例返回true 當兩個常數或變量指向一個不同的實例返回true
class SampleClass: Equatable {
   let myProperty: String
   init(s: String) {
      myProperty = s
   }
}
func ==(lhs: SampleClass, rhs: SampleClass) -> Bool {
   return lhs.myProperty == rhs.myProperty
}

let spClass1 = SampleClass(s: "Hello")
let spClass2 = SampleClass(s: "Hello")

spClass1 === spClass2 // false
println("\(spClass1)")

spClass1 !== spClass2 // true
println("\(spClass2)")

當我們使用 playground 運行上麵的程序,得到以下結果

main.SampleClass
main.SampleClass