Tính đóng gói trong java

Tính đóng gói trong java

Tính đóng gói trong java

Đóng gói trong Java là gì? Đóng gói trong Java là một cơ chế để gói các biến (dữ liệu) và các phương thức (mã) lại với nhau thành một đơn v...
Comment tháng 6 05, 2021

Đóng gói trong Java là gì?

Đóng gói trong Java là một cơ chế để gói các biến (dữ liệu) và các phương thức (mã) lại với nhau thành một đơn vị duy nhất. Nó là quá trình che giấu thông tin chi tiết và bảo vệ dữ liệu và hành vi của đối tượng. Nó là một trong bốn khái niệm OOP quan trọng. Lớp encapsulate rất dễ kiểm tra, vì vậy nó cũng tốt hơn cho kiểm thử đơn vị. 

Tính đóng gói trong java

Tính đóng gói trong java là kỹ thuật ẩn giấu thông tin không liên quan và hiện thị ra thông liên quan. Mục đích chính của đóng gói trong java là giảm thiểu mức độ phức tạp phát triển phần mềm, đóng gói cũng được sử dụng để bảo vệ trạng thái bên trong của một đối tượng. Bởi việc ẩn giấu các biến biểu diễn trạng thái của đối tượng. Việc chỉnh sửa đối tượng được thực hiện, xác nhận thông qua các phương thức. Hơn nữa, việc ẩn giấu các biến thì các lớp sẽ không chia sẻ thông tin với nhau được. Điều này làm giảm số lượng khớp nối có thể có trong một ứng dụng.

Ví dụ tính đóng gói trong java

Để hiểu về tính đóng gói các bạn có thể theo dõi ví dụ dưới đây.




public 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 < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

Giả sử một tin tặc đã quản lý được quyền truy cập vào mã tài khoản ngân hàng của bạn. Bây giờ, anh ta cố gắng gửi số tiền -100 vào tài khoản của bạn bằng hai cách. Hãy xem phương pháp hoặc cách tiếp cận đầu tiên của anh ấy.
Cách tiếp cận 1: Anh ta cố gắng gửi một số tiền không hợp lệ (giả sử -100) vào tài khoản ngân hàng của bạn bằng cách thao tác mã

Bây giờ, câu hỏi là - Điều đó có thể không? Hãy điều tra.
Thông thường, một biến trong một lớp được đặt là "riêng tư" như hình dưới đây. Nó chỉ có thể được truy cập bằng các phương thức được định nghĩa trong lớp. Không có lớp hoặc đối tượng nào khác có thể truy cập chúng.

Nếu một thành viên dữ liệu là riêng tư, điều đó có nghĩa là nó chỉ có thể được truy cập trong cùng một lớp. Không có lớp bên ngoài nào có thể truy cập thành viên hoặc biến dữ liệu riêng của lớp khác.
Vì vậy, trong trường hợp của chúng tôi, hacker không thể gửi số tiền -100 vào tài khoản của bạn.

Ẩn dữ liệu trong Java

Ẩn dữ liệu trong Java là ẩn các biến của một lớp khỏi các lớp khác. Nó chỉ có thể được truy cập thông qua phương thức của lớp hiện tại của chúng. Nó ẩn các chi tiết triển khai với người dùng. Nhưng hơn cả việc ẩn dữ liệu, nó có nghĩa là để quản lý hoặc nhóm các dữ liệu liên quan tốt hơn.

Để đạt được mức độ đóng gói ít hơn trong Java, bạn có thể sử dụng các bổ ngữ như "protected" hoặc "public". Với tính năng đóng gói, các nhà phát triển có thể thay đổi một phần của mã một cách dễ dàng mà không ảnh hưởng đến phần khác.

Getter và Setter trong Java

Getter và Setter trong Java là hai phương thức thông thường được sử dụng để truy xuất và cập nhật các giá trị của một biến. Chúng chủ yếu được sử dụng để tạo, sửa đổi, xóa và xem các giá trị biến. Phương thức setter được sử dụng để cập nhật các giá trị và phương thức getter được sử dụng để đọc hoặc truy xuất các giá trị. Chúng cũng được biết đến như một kẻ truy cập và đột biến.




public class Student {
    private String name;
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}

Tính trừu tượng so với tính đóng gói

Thông thường, tính đóng gói bị hiểu nhầm với tính trừu tượng. Hãy nghiên cứu-
  • Tính năng đóng gói thiên về "Cách" đạt được một chức năng
  • Tóm tắt là nhiều hơn về "Những gì" một lớp 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. Nơi logic phức tạp trong bảng mạch được gói gọn trong một màn hình cảm ứng và giao diện được cung cấp để tóm tắt nó ra.

Ưu điểm của tính năng đóng gói trong Java

  • Đóng gói là liên kết dữ liệu với các chức năng liên quan của nó. Ở đây chức năng có nghĩa là "phương pháp" và dữ liệu có nghĩa là "biến"
  • Vì vậy, chúng tôi giữ biến và các phương thức ở một nơi. Nơi đó là "lớp học." Lớp là cơ sở để đóng gói.
  • Với Java Encapsulation, bạn có thể ẩn (hạn chế quyền truy cập) đối với các thành viên dữ liệu quan trọng trong mã của bạn, điều này giúp cải thiện bảo mật
  • Như chúng ta đã thảo luận trước đó, nếu một thành viên dữ liệu được khai báo là "riêng tư", thì nó chỉ có thể được truy cập trong cùng một lớp. Không có lớp bên ngoài nào có thể truy cập thành viên dữ liệu (biến) của lớp khác.
  • Tuy nhiên, nếu bạn cần truy cập các biến này, bạn phải sử dụng phương thức "getter" và "setter" công khai.

Blogger Comments


Không có nhận xét nào. Chúc mừng bạn là người đầu tiên.

  • Kí tự đặc biệt
  • Tôi Share
  • Star Mạnh Blog
  • Văn Tuấn Blog
  • Tuổi Trẻ IT
  • Văn Thắng Blog
  • Duy Blogs
  • Star Sinh Blog
  • Lê Bá Long IT
  • Đặt liên kết
  • Đặt liên kết
  • Đặt liên kết