Java面向物件——封裝性
阿新 • • 發佈:2020-08-19
我們程式設計追求”高內聚,低耦合“:
- 高內聚:類的內部資料操作細節自己完成,不允許外部干涉
- 低耦合:僅對外部暴露少量的方法用於使用
隱藏物件內部的複雜性,只對外部公開簡單的介面。便於外界呼叫,從而提高系統的可擴充套件性、可維護性。通俗的說,把該隱藏的隱藏起來,該暴露的暴露出來,這就是封裝性的設計思想。
1.問題的引入
當我們建立一個類的物件以後,我們可以通過“物件.屬性”的方式,對物件的屬性進行賦值。這裡,賦值操作要受屬性的資料型別和儲存範圍的制約。除此之外,沒有其他制約條件。但是,在實際問題中,我們往往需要給屬性賦值加入額外的限制條件。這個條件就不能在屬性宣告時體現,我們只能通過方法進行限制條件的新增。
2.封裝性的體現
- 我們將類的屬性私有化(private),同時,提供公共的(public)方法來獲取(getxxx)和設定(setxxx)的值。
- 不對外暴露私有的方法
- 單例模式
- 。。。
示例:
package com.xlx.java; public class HelloWorld { public static void main(String[] args) { Animal a1=new Animal(); a1.setAge(100); a1.getAge(); } } class Animal{ privateint age; public int getAge() { return age; } public void setAge(int a) { age=a; } }