Thứ Sáu, 15 tháng 2, 2019

Học java - Java - Đóng gói

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

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

Học lập trình Java chuyên nghiệp
Học lập trình Java chuyên nghiệp

Trong đóng gói, các biến của một lớp sẽ bị ẩn khỏi các lớp khác và chỉ có thể được truy cập 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 Học lập trình 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 khai để sửa đổi và xem các giá trị biến.

Sau đây là một ví dụ minh họa cách đạt được Đóng gói trong Học lập trình 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 setXXX () và getXXX () công khai là các điểm truy cập của các biến thể hiện của lớp EncapTest. Thông thường, các phương thức này được gọi là getters và setters. 

Do đó, bất kỳ lớp nào muốn truy cập vào các biến nên truy cập chúng thông qua các getters và setters này Học lập trình Java.

Các biến của lớp EncapTest có thể được truy cập bằ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

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ỉ viết.

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...