Thursday, June 7, 2018

Java - Đóng gói trong java

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

 

NIIT-ICT

ảnh minh họa : Học lập trình java 

 

 

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ị độc nhất vô nhị. Trong đóng gói, 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ỉ phê chuẩn các phương thức của lớp ngày nay 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 thí 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 ngày, những phương pháp này được gọi là getters và setters. Do đó, bất kỳ lớp nào muốn truy cập các biến sẽ truy cập chúng phê duyệt 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 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

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

 

Các trường của một lớp có thể được thực hành 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ó.

No comments:

Post a Comment