Java Encapsulation: Định Nghĩa, Cú Pháp và Ví Dụ
Java Encapsulation (Đóng gói) là một trong những khái niệm cơ bản trong lập trình hướng đối tượng (OOP). Nó cho phép chúng ta đóng gói dữ liệu (thuộc tính) và các phương thức (hàm) vào trong một lớp (class). Mục đích chính của Encapsulation là bảo vệ dữ liệu bên trong lớp khỏi sự truy cập trực tiếp từ bên ngoài, từ đó tăng tính an toàn và bảo mật cho chương trình.
Định Nghĩa của Encapsulation
Encapsulation là một cơ chế mà trong đó dữ liệu (thuộc tính) của một lớp được bảo vệ và chỉ có thể được truy cập hoặc sửa đổi thông qua các phương thức công khai (public methods) mà lớp cung cấp. Điều này giúp kiểm soát và giới hạn cách mà dữ liệu được truy cập và sửa đổi.
Cú Pháp của Encapsulation
Để thực hiện Encapsulation trong Java, chúng ta thường sử dụng các bước sau:
1. Đặt các thuộc tính (fields) của lớp với mức truy cập private. 2. Cung cấp các phương thức public để truy cập và sửa đổi dữ liệu (getter và setter).
Ví Dụ về Encapsulation trong Java
Dưới đây là một ví dụ đơn giản về Encapsulation trong Java:
public class Student { // Thuộc tính được khai báo là private private String name; private int age; // Getter cho biến name public String getName() { return name; } // Setter cho biến name public void setName(String name) { this.name = name; } // Getter cho biến age public int getAge() { return age; } // Setter cho biến age public void setAge(int age) { if (age > 0) { // Kiểm tra giá trị hợp lệ this.age = age; } else { System.out.println("Age must be positive"); } } } // Sử dụng lớp Student public class Main { public static void main(String[] args) { Student student = new Student(); student.setName("John Doe"); student.setAge(20); System.out.println("Name: " + student.getName()); System.out.println("Age: " + student.getAge()); } }
Trong ví dụ trên, chúng ta đã tạo một lớp Student với các thuộc tính name và age là private. Chúng ta cung cấp các phương thức getter và setter để truy cập và sửa đổi giá trị của các thuộc tính này. Cách này giúp bảo vệ dữ liệu của lớp và chỉ cho phép truy cập thông qua các phương thức được kiểm soát.
Kết Luận
Encapsulation là một trong những khái niệm chủ chốt trong lập trình hướng đối tượng, giúp bảo vệ và kiểm soát truy cập dữ liệu. Việc sử dụng Encapsulation trong Java không chỉ tăng mức độ bảo mật cho chương trình mà còn giúp xây dựng mã nguồn rõ ràng và dễ duy trì hơn.