<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國際加速解決方案。 廣告
                ## 封裝 我們都知道,在C++或Java中,對于類中的成員函數或變量都有訪問權限的。public,protected和private這幾個關鍵字還認識吧。那么在Lua中呢?Lua中是本身就是一門“簡單”的腳本語言,本身就不是為了大型項目而生的,所以,它的語言特性中,本身就沒有帶有這些東西,那如果非要用這樣的保護的東西,該怎么辦?我們還是“曲線救國”。思想就是通過兩個table來表示一個對象。一個table用來保存對象的私有數據;另一個用于對象的操作。對象的實際操作時通過第二個table來實現的。為了避免未授權的訪問,保存對象的私有數據的表不保存在其它的table中,而只是保存在方法的closure中。看一段代碼: ```lua function newObject(defaultName) local self = {name = defaultName} local setName = function (v) self.name = v end local getName = function () return self.name end return {setName = setName, getName = getName} end local objectA = newObject("Jelly") objectA.setName("JellyThink") -- 這里沒有使用冒號訪問 print(objectA.getName()) ``` 這種設計給予存儲在self table中所有東西完全的私密性。當調用newObject返回以后,就無法直接訪問這個table了。只能通過newObject中創建的函數來訪問這個self table;也就相當于self table中保存的都是私有的,外部是無法直接訪問的。大家可能也注意到了,我在訪問函數時,并沒有使用冒號,這個主要是因為,我可以直接訪問的self table中的字段,所以是不需要多余的self字段的,也就不用冒號了。
                  <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>

                              哎呀哎呀视频在线观看