Lập trình hướng đối tướng có nhiều concept, trong đó Đóng gói (Encapsulation) là một khái niệm cực kỳ quan trọng.Hôm nay mình sẽ giới thiệu với bạn về Đóng gói trong lập trình Java hướng đối tượng bằng ví dụ cụ thể.Bạn đang xem: Encapsulation là gì

Bạn đang xem: Encapsulation là gì

*

Ví dụ về Đóng gói (Encapsulation) trong Java OOPTrong bài học này bạn sẽ được học:Đóng gói trong Java là gì?Ví dụ về Đóng gói trong JavaẨn dữ liệu trong JavaCác phương thức Getter và Setter trong JavaTrừu tượng so với Đóng góiƯu điểm của đóng gói trong Java Đóng gói là một nguyên tắc đóng gói dữ liệu (biến) và với nhau dưới dạng một đơn vị. Đây là một trong bốn khái niệm OOP. Ba cái còn lại là Kế thừa, Đa hình và Trừu tượng. Cách học nhanh nhất là học qua ví dụ thực tế. Và để hiểu chi tiết đóng gói là gì, mình sẽ thử hack tài khoản ngân hàng:Trước tiên, tài khoản ngân hàng đơn giản được mô phỏng bằng class Account sau với phương thức tiền gửi và hiển thị số dư. class Account { private int account_number; private int account_balance; public void show Data() { //code to show data } public void deposit(int a) { if (a Giả sử mình định Hack tài khoản ngân hàng này, mình sẽ cố gắng để có quyền truy cập vào mã tài khoản ngân hàng.Bây giờ, mình thử cố gắng trừ 100 đồng ở tài khoản này bằng hai cách. Hãy cùng xem cách làm này như thế nào nhé:Cách tiếp cận 1: Mình cố gắng thực hiện một lệnh không hợp lệ(giả sử -100 đồng) vào tài khoản ngân hàng này bằng cách thao túng code như sau: Bây giờ, câu hỏi là - Cách này có thể thành công không? Hãy thử kiểm tra xem:Thông thường, một biến trong một lớp được đặt là 'private' như hình bên dưới. Nó chỉ có thể được truy cập với các phương thức được định nghĩa trong class đó. Không có class hoặc đối tượng nào khác có thể truy cập vào chúng.
*

Xem thêm: The United Nations Là Gì ? Đặc Điểm Của Liên Hợp Quốc Liên Hợp Quốc Tại Việt Nam

*

*

Ví dụ về Encapsulation trong Java OOP: Ứng dụng an toàn nhờ Đóng góiToàn bộ mã có thể được coi là một viên nang (là kiểu dạng thuốc viên nang đó) và bạn chỉ có thể giao tiếp qua các tin nhắn. Chính vì thế nó có tên là Đóng gói (Encapsulation). Thông thường, Java Encapsulation được gọi là ẩn dữ liệu (data hiding). Nhưng hơn cả việc ẩn dữ liệu, khái niệm Encapsulation có nghĩa là để quản lý tốt hơn hoặc nhóm các dữ liệu liên quan lại với nhau.Để giảm mức độ đóng gói trong Java, bạn có thể sử dụng 'protected' hoặc 'public'.Thêm nữa, với việc đóng gói, các lập trình viên Java có thể dễ dàng thay đổi một phần của mã mà không ảnh hưởng đến phần khác. Nếu một data member được khai báo là 'private', thì nó chỉ có thể được truy cập trong cùng một class. Không có class bên ngoài nào có thể truy cập data member của class đó.Nếu bạn cần truy cập các biến này, bạn phải sử dụng các phương thức public 'getter' và 'setter'.Các phương thức của Getter và Setter được sử dụng để tạo, sửa đổi, xóa và xem các giá trị biến.

Ví dụ về phương thức Getter và Setter trong lập trình Java:

class Account{ private int account_number;private int account_balance; // getter methodpublic int getBalance() { return this.account_balance; } // setter methodpublic void setNumber(int num) { this.account_number = num; }} Trong ví dụ trên:Phương thức getBalance() là phương thức getter đọc giá trị của biến account_balancePhương thức setNumber () là phương thức setter đặt hoặc cập nhật giá trị cho biến account_number Thông thường, Đóng gói hay bị hiểu nhầm với Trừu tượng.Encapsulation nói về 'Làm thế nào' để làm được chức năng đóTrừu tượng thì là 'Cái gì' mà một class có thể làm.Một ví dụ đơn giản để hiểu sự khác biệt này là điện thoại di động.Trong đó, logic phức tạp bên trong bảng mạch được gói gọn trong màn hình cảm ứng và giao diện được cung cấp để trừu tượng hóa nó ra cho người dùng. Chuyên mục: Hỏi Đáp
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *