Thứ Ba, 24 tháng 7, 2018

Java - Đóng gói

ảnh minh họa

Đóng gói là một trong bốn khái niệm OOP cơ bản. Ba loại còn lại là thừa kế, Học lập trình java đa hình và trừu tượng hóa.

Việc đóng gói trong Java là một cơ chế bao bọc dữ liệu (các biến) và mã tác động lên dữ liệu (các phương thức) với nhau thành một đơn vị duy nhất. 

Trong đóng gói java, các biến của một lớp sẽ được ẩn khỏi các lớp khác, và có thể được truy cập chỉ thông qua các phương thức của lớp hiện tại của chúng. Do đó, nó còn được gọi là ẩn dữ liệu .

Để đạt được đóng gói trong Java 

Khai báo các biến của một lớp là riêng tư.

Cung cấp các phương thức setter và getter công cộng để sửa đổi và xem các giá trị biến.

Thí dụ

Sau đây là một ví dụ minh họa cách để đạt được Encapsulation trong Java
/* File name : EncapTest.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;
   }
}

Các phương thức public setXXX () và getXXX () là các điểm truy cập của các biến cá thể của lớp EncapTest. Thông thường, những phương pháp này được gọi là getters và setters.

Do java, bất kỳ lớp nào muốn truy cập các biến sẽ truy cập chúng thông qua các getters và setters này.

Các biến của lớp EncapTest có thể được truy cập bằng cách sử dụng chương trình sau:
/* File name : RunEncap.java */
public class RunEncap {

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

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

Điều này sẽ tạo ra kết quả sau

Đầu ra

Name : James Age : 20

Lợi ích của đóng gói

Các trường của một lớp có thể được thực hiện chỉ đọc hoặc chỉ ghi.

Một lớp có thể có toàn quyền kiểm soát những gì được lưu trữ trong các trường của nó.

Không có nhận xét nào:

Đăng nhận xét

Lập trình Java - Ngoại lệ

Một ngoại lệ (hoặc sự kiện đặc biệt) là một vấn đề phát sinh trong quá trình thực hiện chương trình. Khi xảy ra Ngoại lệ , luồng bình thường...