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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## **封裝的基本概念:** 封裝將類的某些信息隱藏在類內部,不允許外部程序直接訪問,只能通過該類提供的方法來實現對隱藏信息的操作和訪問。例如:一臺計算機內部極其復雜,有主板、CPU、硬盤和內存, 而一般用戶不需要了解它的內部細節,不需要知道主板的型號、CPU 主頻、硬盤和內存的大小,于是計算機制造商將用機箱把計算機封裝起來,對外提供了一些接口,如鼠標、鍵盤和顯示器等,這樣當用戶使用計算機就非常方便。 ## **封裝的特點:** * 只能通過規定的方法訪問數據。 * 隱藏類的實例細節,方便修改和實現。 ## **實現封裝的具體步驟如下:** 1. 修改屬性的可見性來限制對屬性的訪問,一般設為 private。 2. 為每個屬性創建一對賦值(setter)方法和取值(getter)方法,一般設為 public,用于屬性的讀寫。 3. 在賦值和取值方法中,加入屬性控制語句(對屬性值的合法性進行判斷)。 <br> <br> ## **封裝實例一:** 在同一個文件下創建day02_encapsulation.java文件和day03_encapsulation2.java文件,在day02_encapsulation.java文件下,所封裝的代碼如下; ``` public class day02_encapsulation{ public int age; public void Setparamete(int age){ // 這是一個方法 this.age = age; System.out.println("我是封裝的方法,我被調用了,嗚嗚嗚"); } } ``` day03_encapsulation2.java文件下代碼如下; ``` public class day03_encapsulation2{ public static void main(String [] args){ day02_encapsulation setparamete = new day02_encapsulation(); setparamete.Setparamete(20); } } ``` 我們在day03_encapsulation2.java文件里面調用了day_encapsulation里面的Setparamete方法 <br> ## **封裝實例二:** 下面以一個學員類的封裝為例介紹封裝過程。一個學員的主要屬性有姓名、年齡、聯系電話和家庭住址。假設學員類為 student,示例如下: ``` public class day04_demo{ // 姓名、年齡、聯系電話和家庭住址 private String name; private int age; private String phone; private String address; public String GetName(){ return name; } public void setName(String name){ // void 無返回結果 null 構造方法 this.name = name; } public int GetAge(){ return age; } public void setAge(int age){ if (age < 18 || age > 40 ){ System.out.println("年齡必須在18到40之間"); this.age = 20; }else{ this.age = age; } } public String Getphone(){ return phone; } public void setphone(String phone){ this.phone = phone; } public String GetAddress(){ return address; } public void setaddress(String address){ this.address = address; } } ``` 如上述代碼所示,使用 private 關鍵字修飾屬性,這就意味著除了 student 類本身外,其他任何類都不可以訪問這些屬性。但是,可以通過這些屬性的 setXxx() 方法來對其進行賦值,通過 getXxx() 方法來訪問這些屬性。 <br> 在 age 屬性的 setAge() 方法中,首先對用戶傳遞過來的參數 age 進行判斷,如果 age 的值不在 18 到 40 之間,則將 Employee 類的 age 屬性值設置為 20,否則為傳遞過來的參數值。 <br> 編寫測試類 student,在該類的 main() 方法中調用 student 屬性的 setXxx() 方法對其相應的屬性進行賦值,并調用 getXxx() 方法訪問屬性,代碼如下: ``` public static void main(String[]args){ // 調用 student 屬性的 setXxx() 方法對其相應的屬性進行賦值,并調用 getXxx() 方法訪問屬性 day04_demo demo = new day04_demo(); demo.setName("王寶釧"); demo.setAge(18); demo.setphone("18080808080"); demo.setaddress("上海市上海徐匯區"); System.out.println("昵稱:" + demo.GetName()); System.out.println("年齡:" + demo.GetAge()); System.out.println("電話:" + demo.Getphone()); System.out.println("家庭住址:" + demo.GetAddress()); } ``` 通過封裝,實現了對屬性的數據訪問限制,滿足了年齡的條件。在屬性的賦值方法中可以對屬性進行限制操作,從而給類中的屬性賦予合理的值, 并通過取值方法獲取類中屬性的值(也可以直接調用類中的屬性名稱來獲取屬性值)。
                  <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>

                              哎呀哎呀视频在线观看