在面向?qū)ο蟪淌皆O(shè)計(jì)方法中,封裝是指將抽象性函式接口的實(shí)現(xiàn)細(xì)節(jié)部份包裝、隱藏起來的方法。封裝可以被認(rèn)為是一個保護(hù)屏障,防止該類的代碼和數(shù)據(jù)被外部類定義的代碼隨機(jī)訪問。要訪問該類的代碼和數(shù)據(jù),必須通過嚴(yán)格的接口控制。
封裝最主要的功能在于我們能修改自己的實(shí)現(xiàn)代碼,而不用修改那些調(diào)用我們代碼的程序片段。適當(dāng)?shù)姆庋b可以讓代碼更容易理解與維護(hù),也加強(qiáng)了代碼的安全性。
封裝的優(yōu)點(diǎn):
1.良好的封裝能夠減少耦合。
2.類內(nèi)部的結(jié)構(gòu)可以自由修改。
3.可以對成員變量進(jìn)行更精確的控制。
4.隱藏信息,實(shí)現(xiàn)細(xì)節(jié)。
實(shí)現(xiàn)Java封裝的步驟
- 修改屬性的可見性來限制對屬性的訪問(一般限制為private),例如:
public class Person {
private String name;
private int age;
}
- 對每個值屬性提供對外的公共方法訪問,也就是創(chuàng)建一對賦取值方法,用于對私有屬性的訪問,例如:
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;
}
}