Java面向物件(02)--封裝
阿新 • • 發佈:2020-08-13
Java面向物件(02)--封裝
封裝簡介
在面向物件程式設計方法中,封裝(英語:Encapsulation
)是指一種將抽象性函式介面的實現細節部分包裝、隱藏起來的方法。
封裝可以被認為是一個保護屏障,防止該類的程式碼和資料被外部類定義的程式碼隨機訪問。
高內聚,低耦合:
- 高內聚:類的內部資料操作細節自己完成,不允許外部干涉;
- 低耦合:僅暴露少量的方法給外部使用
封裝的優點
- 良好的封裝能夠減少耦合。
- 類內部的結構可以自由修改。
- 可以對成員變數進行更精確的控制。
- 隱藏資訊,實現細節。
封裝案例
-
修改屬性的可見性來限制對屬性的訪問(一般限制為private),例如:
public class Person { private String name; private int age; }
這段程式碼中,將
name
和age
屬性設定為私有的,只能本類才能訪問,其他類都訪問不了,如此就對資訊進行了隱藏。 -
對每個值屬性提供對外的公共方法訪問,也就是建立一對賦取值方法,用於對私有屬性的訪問,例如:
public class Person{ private String name; private int age; public int getAge(){ return age; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public void setName(String name){ this.name = name; } }
採用
this
關鍵字是為了解決例項變數private String name
和區域性變數setName(String name)
中的name
變數之間發生的同名的衝突