<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Swift 類 Swift 類是構建代碼所用的一種通用且靈活的構造體。 我們可以為類定義屬性(常量、變量)和方法。 與其他編程語言所不同的是,Swift 并不要求你為自定義類去創建獨立的接口和實現文件。你所要做的是在一個單一文件中定義一個類,系統會自動生成面向其它代碼的外部接口。 ## 類和結構體對比 Swift 中類和[結構體](/swift/swift-structures.html)有很多共同點。共同處在于: * 定義屬性用于存儲值 * 定義方法用于提供功能 * 定義附屬腳本用于訪問值 * 定義構造器用于生成初始化值 * 通過擴展以增加默認實現的功能 * 符合協議以對某類提供標準功能 與結構體相比,類還有如下的附加功能: * 繼承允許一個類繼承另一個類的特征 * 類型轉換允許在運行時檢查和解釋一個類實例的類型 * 解構器允許一個類實例釋放任何其所被分配的資源 * 引用計數允許對一個類的多次引用 ### 語法: ``` Class classname { Definition 1 Definition 2 …… Definition N } ``` ### 類定義 ``` class student{ var studname: String var mark: Int var mark2: Int } ``` 實例化類: ``` let studrecord = student() ``` ### 實例 ``` import Cocoa class MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } class studentMarks { var mark = 300 } let marks = studentMarks() print("成績為 \(marks.mark)") ``` 以上程序執行輸出結果為: ``` 成績為 300 ``` ## 作為引用類型訪問類屬性 類的屬性可以通過 **.** 來訪問。格式為:**實例化類名.屬性名**: ``` import Cocoa 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() print("Mark1 is \(marks.mark1)") print("Mark2 is \(marks.mark2)") print("Mark3 is \(marks.mark3)") ``` 以上程序執行輸出結果為: ``` Mark1 is 300 Mark2 is 400 Mark3 is 900 ``` ## 恒等運算符 因為類是引用類型,有可能有多個常量和變量在后臺同時引用某一個類實例。 為了能夠判定兩個常量或者變量是否引用同一個類實例,Swift 內建了兩個恒等運算符: | **恒等運算符** | **不恒等運算符** | | --- | --- | | 運算符為:=== | 運算符為:!== | | 如果兩個常量或者變量引用同一個類實例則返回 true | 如果兩個常量或者變量引用不同一個類實例則返回 true | ### 實例 ``` import Cocoa 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") if spClass1 === spClass2 {// false print("引用相同的類實例 \(spClass1)") } if spClass1 !== spClass2 {// true print("引用不相同的類實例 \(spClass2)") } ``` 以上程序執行輸出結果為: ``` 引用不相同的類實例 SampleClass ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看