1. 程式人生 > >20180821-Java封裝

20180821-Java封裝

 

java 封裝


在面向物件程式設計方法中,封裝(英語:Encapsulation)是指,一種將抽象性函式介面的實作細節部份包裝、隱藏起來的方法。

封裝可以被認為是一個保護屏障,防止該類的程式碼和資料被外部類定義的程式碼隨機訪問。

要訪問該類的程式碼和資料,必須通過嚴格的介面控制。

封裝最主要的功能在於我們能修改自己的實現程式碼,而不用修改那些呼叫我們程式碼的程式片段。

適當的封裝可以讓程式碼更容易理解與維護,也加強了程式碼的安全性。

例項


讓我們來看一個java封裝類的例子:


public class EncapTest{

private String name;
private String idNum;
private int age;

public int getAge(){
return age;
}

public String getName(){
return name;
}

public String getIdNum(){
return IdNum;
}

public void setAge(int newAge){
age = newAge;
}

public void setName(String newName){
name = newName;
}

public void setIdNum(String newId){
idNum = newId;
}

}

 

以上例項中public方法是外部類訪問該類成員變數的入口。


通常情況下,這些方法被稱為getter和setter方法。

因此,任何要訪問類中私有成員變數的類都要通過這些getter和setter方法。


通過如下的例子說明EncapTest類的變數怎樣被訪問:


public class RunEcap{

public static void main(String[] args){
EncapTest encap = new EncapTest();
encap.setName("Jams");
encap.setAge(20);
encap.setIdNum("12343ms");

System.out.println("Name:"+encap.getName()+"Age:" +encp.getAge());
}
}

 

以上程式碼編譯執行結果如下:

Name : James Age : 20