OOP in Java: Tính bao đóng Encapsulation

Mọi thông tin liên quan đến các khoá học Java dành cho Testers.
Forum rules
Mọi thông tin liên quan đến các khoá học Java dành cho Testers.
Post Reply
cuhavp
Jr. Tester
Posts: 61
Joined: Mon 21 Jan, 2013 3:52 pm
Contact:

OOP in Java: Tính bao đóng Encapsulation

Post by cuhavp »

Mình tiếp tục serie OOP in Java ban có thể xem lại thuộc tính kế thừa

Tính bao đóng ở đây có nghĩa là bạn muốn đóng gói thuộc tính hoặc phương thức của một class/đối tượng mà chỉ chính nó hoặc bên ngoài có thể lấy được. các từ khoá hay sử dụng để mô tả tính chất này là public ,protected, privated

Code: Select all

public class Plants {
  private String mausac;
  private double luongNuocCanTuoi;
  private double hapthu;
  ...
 } 
Với ví dụ ở trên thì các thuộc tính của class Plants ko thể truy cập từ ngoài được, chỉ các method trong class plant mới có quyền truy cập giá trị của các thuộc tính này. để có thể thay đổi giá tri của nó thường bạn dùng getter() hoặc setter() để làm việc.

Code: Select all

public class Plants {
  protected String mausac;
  protected double luongNuocCanTuoi;
  protected double hapthu;
  ...
 } 
Với đoạn code như trên thì các class con như Flower và Tree có thể lấy giá trị của các thuộc tính này, tức là chỉ có các class kế thừa nó mới lấy được giá trị từ class cha.


Code: Select all

public class Plants {
  public String mausac;
  public double luongNuocCanTuoi;
  public double hapthu;
  ...
 } 
Còn với đoạn code như trên thì tất cả các class ở ngoài đều có thể truy cập được giá trị của các thuộc tính của Plants.

Thông thường để đảm bảo giá trị các thuộc tính không thay đổi trong suốt quá trình làm việc người ta thường đóng lại quyền truy cập giá trị của các thuộc tính lớp cha. Và chỉ với các giá trị mà dùng chung(Biến toàn cục) mới được mở để tất cả đều có thể lấy được giá trị.



Post Reply

Return to “Java for Testers”