Java Tính đóng gói

Java Encapsulation(Tính đóng gói)

Encapsulation là một trong những nguyên tắc cơ bản của lập trình hướng đối tượng (OOP) trong Java. Encapsulation giúp bảo vệ dữ liệu của đối tượng bằng cách ẩn các chi tiết cụ thể và chỉ cung cấp các phương thức cần thiết để truy cập và thay đổi dữ liệu.

Khái Niệm Encapsulation

Encapsulation là quá trình đóng gói dữ liệu (các biến) và các phương thức hoạt động trên dữ liệu đó thành một khối duy nhất. Trong Java, điều này được thực hiện bằng cách:

  1. Đặt các biến của lớp là private.

  2. Cung cấp các phương thức public getter và setter để truy cập và cập nhật các biến này.

Lợi Ích của Encapsulation

  • Bảo vệ Dữ liệu: Ngăn chặn truy cập trái phép và thay đổi dữ liệu từ bên ngoài lớp.

  • Dễ Dàng Bảo Trì: Thay đổi nội bộ của lớp không ảnh hưởng đến các mã sử dụng lớp đó.

  • Tăng Tính Mô-đun: Các đối tượng có thể được quản lý một cách độc lập và dễ dàng tái sử dụng.

Cách Thực Hiện Encapsulation

Đặt Biến là Private

Các biến của lớp được khai báo là private để ngăn chặn truy cập trực tiếp từ bên ngoài.

Cung Cấp Phương Thức Getter và Setter

Phương thức getter để truy cập giá trị của biến và phương thức setter để thay đổi giá trị của biến. Phương thức setter có thể bao gồm các kiểm tra hợp lệ để đảm bảo tính toàn vẹn của dữ liệu.

Ví Dụ về Encapsulation

Sử Dụng Lớp Student

Bài Tập Thực Hành

Tạo Lớp Circle

  • Tạo một lớp Circle với các biến private radiuscolor.

  • Cung cấp các phương thức public getRadius(), setRadius(double radius), getColor(), và setColor(String color) để truy cập và cập nhật giá trị của các biến này.

  • Đảm bảo rằng bán kính không thể là số âm.

Bài giải

Tạo Lớp BankAccount

  • Tạo một lớp BankAccount với biến private balance.

  • Cung cấp các phương thức public getBalance(), deposit(double amount), và withdraw(double amount) để truy cập và cập nhật số dư tài khoản.

  • Đảm bảo rằng không thể rút số tiền lớn hơn số dư hiện tại.

Bài giải

Tạo Lớp Book

  • Tạo một lớp Book với các biến private title, author, và price.

  • Cung cấp các phương thức public getTitle(), getAuthor(), getPrice(), và setPrice(double price) để truy cập và cập nhật giá trị của các biến này.

  • Đảm bảo rằng giá tiền không thể là số âm.

Bài giải

Hãy thực hiện các bài tập trên để làm quen với Encapsulation trong Java và hiểu rõ hơn về cách sử dụng nó trong lập trình hướng đối tượng.

Last updated