<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國際加速解決方案。 廣告
                # Kotlin 獲取器和設置器 > 原文: [https://www.programiz.com/kotlin-programming/getters-setters](https://www.programiz.com/kotlin-programming/getters-setters) #### 在本文中,您將借助于一個示例學習在 Kotlin 中使用獲取器和設置器。 在學習獲取器和設置器之前,請務必檢查 [Kotlin 類和對象](/kotlin-programming/class-objects)。 在編程中,獲取器用于獲取屬性的值。 同樣,使用設置器來設置屬性的值。 在 Kotlin 中,獲取器和設置器是可選的,如果未在程序中創建它們,它們將自動生成。 * * * ## 獲取器和設置器如何工作? Kotlin 中的以下代碼 ```kt class Person { var name: String = "defaultValue" } ``` 相當于 ```kt class Person { var name: String = "defaultValue" // getter get() = field // setter set(value) { field = value } } ``` 實例化`Person`類的對象并初始化`name`屬性時,它將傳遞給設置器參數`value`并將`field`設置為`value`。 ```kt val p = Person() p.name = "jack" ``` 現在,當您訪問對象的`name`屬性時,由于代碼`get() = field`,您將獲得`field`。 ```kt println("${p.name}") ``` 這是一個工作示例: ```kt fun main(args: Array<String>) { val p = Person() p.name = "jack" println("${p.name}") } class Person { var name: String = "defaultValue" get() = field set(value) { field = value } } ``` 運行該程序時,輸出為: ```kt jack ``` 默認情況下,這就是獲取器和設置器的工作方式。 但是,您可以使用獲取器和設置器來更改屬性的值(修改值)。 * * * ### 示例:更改屬性的值 ```kt fun main(args: Array<String>) { val maria = Girl() maria.actualAge = 15 maria.age = 15 println("Maria: actual age = ${maria.actualAge}") println("Maria: pretended age = ${maria.age}") val angela = Girl() angela.actualAge = 35 angela.age = 35 println("Angela: actual age = ${angela.actualAge}") println("Angela: pretended age = ${angela.age}") } class Girl { var age: Int = 0 get() = field set(value) { field = if (value < 18) 18 else if (value >= 18 && value <= 30) value else value-3 } var actualAge: Int = 0 } ``` 運行該程序時,輸出為: ```kt Maria: actual age = 15 Maria: pretended age = 18 Angela: actual age = 35 Angela: pretended age = 32 ``` 在這里,`actualAge`屬性按預期方式工作。 但是,還有其他邏輯設置器可以修改`age`屬性的值。
                  <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>

                              哎呀哎呀视频在线观看