<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 5.5 總結 對于任何關系,最重要的一點都是規定好所有方面都必須遵守的界限或規則。創建一個庫時,相當于建立了同那個庫的用戶(即“客戶程序員”)的一種關系——那些用戶屬于另外的程序員,可能用我們的庫自行構建一個應用程序,或者用我們的庫構建一個更大的庫。 如果不制訂規則,客戶程序員就可以隨心所欲地操作一個類的所有成員,無論我們本來愿不愿意其中的一些成員被直接操作。所有東西都在別人面前都暴露無遺。 本章講述了如何構建類,從而制作出理想的庫。首先,我們講述如何將一組類封裝到一個庫里。其次,我們講述類如何控制對自己成員的訪問。 一般情況下,一個C程序項目會在50K到100K行代碼之間的某個地方開始中斷。這是由于C僅有一個“命名空間”,所以名字會開始互相抵觸,從而造成額外的管理開銷。而在Java中,`package`關鍵字、包命名方案以及`import`關鍵字為我們提供對名字的完全控制,所以命名沖突的問題可以很輕易地得到避免。 有兩方面的原因要求我們控制對成員的訪問。第一個是防止用戶接觸那些他們不應碰的工具。對于數據類型的內部機制,那些工具是必需的。但它們并不屬于用戶接口的一部分,用戶不必用它來解決自己的特定問題。所以將方法和字段變成“私有”(`private`)后,可極大方便用戶。因為他們能輕易看出哪些對于自己來說是最重要的,以及哪些是自己需要忽略的。這樣便簡化了用戶對一個類的理解。 進行訪問控制的第二個、也是最重要的一個原因是:允許庫設計者改變類的內部工作機制,同時不必擔心它會對客戶程序員產生什么影響。最開始的時候,可用一種方法構建一個類,后來發現需要重新構建代碼,以便達到更快的速度。如接口和實現細節早已進行了明確的分隔與保護,就可以輕松地達到自己的目的,不要求用戶改寫他們的代碼。 利用Java中的訪問指示符,可有效控制類的創建者。那個類的用戶可確切知道哪些是自己能夠使用的,哪些則是可以忽略的。但更重要的一點是,它可確保沒有任何用戶能依賴一個類的基礎實現機制的任何部分。作為一個類的創建者,我們可自由修改基礎的實現細節,這一改變不會對客戶程序員產生任何影響,因為他們不能訪問類的那一部分。 有能力改變基礎的實現細節后,除了能在以后改進自己的設置之外,也同時擁有了“犯錯誤”的自由。無論當初計劃與設計時有多么仔細,仍然有可能出現一些失誤。由于知道自己能相當安全地犯下這種錯誤,所以可以放心大膽地進行更多、更自由的試驗。這對自己編程水平的提高是很有幫助的,使整個項目最終能更快、更好地完成。 一個類的公共接口是所有用戶都能看見的,所以在進行分析與設計的時候,這是應盡量保證其準確性的最重要的一個部分。但也不必過于緊張,少許的誤差仍然是允許的。若最初設計的接口存在少許問題,可考慮添加更多的方法,只要保證不刪除客戶程序員已在他們的代碼里使用的東西。
                  <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>

                              哎呀哎呀视频在线观看