ảnh minh 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 .
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
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:
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ó.
Để đạ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 raName : 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