Chủ Nhật, 14 tháng 4, 2024

Encapsulation


Tính đóng gói (Encapsulation) là một nguyên tắc quan trọng trong lập trình hướng đối tượng (OOP) trong Java. Nó cho phép che giấu chi tiết bên trong của một đối tượng và chỉ tiết lộ các phương thức công khai để tương tác với đối tượng đó. Điều này giúp bảo vệ dữ liệu và đảm bảo tính nhất quán và an toàn trong ứng dụng.

Dưới đây là một số điểm quan trọng về tính đóng gói trong Java:

Tính chấtMô tả
Bảo vệ Dữ liệuSử dụng biến thành viên private để ngăn chặn truy cập trực tiếp và sửa đổi dữ liệu một cách không mong muốn từ bên ngoài lớp.
Phương thức GetterPhương thức công khai được sử dụng để truy xuất giá trị của biến thành viên từ bên ngoài lớp.
Phương thức SetterPhương thức công khai được sử dụng để thiết lập giá trị mới cho biến thành viên từ bên ngoài lớp.
Giao diện Rõ RàngTạo ra một giao diện dễ hiểu và rõ ràng cho việc sử dụng lớp, nơi mà người dùng chỉ cần quan tâm đến các phương thức công khai mà không cần biết về cách dữ liệu được lưu trữ hoặc xử lý bên trong lớp.
Che Dấu Chi Tiết Triển KhaiTính đóng gói giúp che dấu chi tiết triển khai bên trong của một lớp, giảm sự phụ thuộc vào triển khai cụ thể và tạo điều kiện cho sự linh hoạt trong việc thay đổi mã nguồn mà không ảnh hưởng đến người dùng lớp.

Dưới đây là một ví dụ minh họa đơn giản về tính đóng gói trong Java:

public class Employee { 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 newName) { name = newName; } // Getter cho biến age public int getAge() { return age; } // Setter cho biến age public void setAge(int newAge) { if (newAge >= 0) { age = newAge; } } }

Trong ví dụ này, biến nameage được khai báo là private, chỉ có thể truy cập từ bên trong lớp Employee. Các phương thức getter và setter được sử dụng để truy xuất và thiết lập giá trị của các biến này từ bên ngoài lớp. Điều này tạo ra một giao diện rõ ràng cho việc sử dụng lớp Employee mà không cần biết chi tiết về cách dữ liệu được lưu trữ hoặc xử lý bên trong.

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

Đăng nhận xét