天天看點

封裝

未封裝的對象可能會比較難堪

  直接将屬性暴露出來,使用圓點運算符來存取

    d.age=2;

  但是無法确定使用者是否這樣操作:

    d.age=-2;

是以,有必要對使用者的使用權限做限制,告訴它可以怎樣操作,不可以怎麼操作。

封裝的手段是:

  private 修飾類的屬性,使得隻能本類使用,關閉了外界通路通道

  public 修飾提供兩個存取方法,存取方法裡面對屬性進行存取,方法名格式為getxxx()、setxxx()

之前dog類封裝後代碼:

  

封裝

第一點,封裝後,使用者隻能看到你想讓它看到的東西,是以隐藏了細節,比如我們讓使用者看不到直接的可通路的屬性

第二點,封裝後,使用者隻能通過我們給的set方法進行資料的處理,我們在裡面加入了邏輯控制了非法資料

第三點,如果非法條件需要更改的時候,我們隻需要更改提供的set方法即可實作所有注入規則的更改,增強可維護性

封裝不隻是封裝

  封裝并不隻是對屬性而言,對于方法,也應該進行必要的封裝,例如工具類的編寫,我們隻提供工具方法給外界,程式處理有關代碼内部消化即可。