iT邦幫忙

0

[Java] Encapsulation

  • 分享至 

  • xImage
  •  

閱讀時間: 5分鐘

Encapsulation的中文是封裝的意思,可以理解成將物件重新包裝或組裝。目的是將敏感的資料保護起來,避免其他程式存取。
為了將敏感的資料隱藏,我們可以將class的variables/attributes設定為private,同時加上public的get method 和 set method。

可以透過public的get method (Getter)和 set method(Setter)來存取或更新private的variables/attributes。

當然亦可以只加上get method (Getter)或set method(Setter),如果只使用get method (Getter) 就可以做到只能讀取(read-only)。如果只使用set method (Setter) 就可以做到只能寫入(write-only)。

例子:

public class Person {
  private String name; // 將name設為private

  // Getter
  public String getName() {
    return name;
  }

  // Setter
  public void setName(String newName) {
    this.name = newName;
  }
}

可以在其他class透過getter/setter的方式存取或更新private的variables/attributes。

public class MyClass {
  public static void main(String[] args) {
    Person myObj = new Person();
    myObj.name = "John";  // error
    System.out.println(myObj.name); // error 
	myObj.setName("John"); // 更改name的值
    System.out.println(myObj.getName()); //存取name的值
  }
}

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言