Home > Java > javaTutorial > body text

Abstraction and Encapsulation

DDD
Release: 2024-10-08 12:08:02
Original
208 people have browsed it

Abstraction and Encapsulation

Abstraction and Encapsulation

The fine line difference between abstraction and encapsulation can be summarized in a single key point:

Abstraction is about hiding unnecessary details to show only the essential features (what an object does). It focuses on design and simplification of complex systems.

Encapsulation is about hiding the internal implementation and protecting data by restricting access to certain components (how an object’s internal data and methods work). It focuses on security and controlled interaction with data.

In short:

Abstraction: Focuses on what the object can do.

Encapsulation: Focuses on how the object's internal state is protected.


Here’s a real-life example to illustrate the fine line difference between abstraction and encapsulation:

ATM Machine (Automated Teller Machine)

1. Abstraction (What it does):

When you use an ATM, you only interact with essential functions like:

Withdraw money

Check balance

Deposit money

You don’t need to know how these operations are implemented internally, such as the complex processes happening inside the bank’s software, the communication with the bank’s servers, or how the transaction is processed. The ATM abstracts all these complexities and provides you with a simple interface (what you can do with it).

2. Encapsulation (How it protects):

Inside the ATM, your personal information (PIN, account balance, etc.) is stored and protected. You can only access this information through controlled methods like:

Entering the correct PIN.

The machine encapsulates (hides) your data, ensuring that no one else can directly access or modify your balance without using the proper channels (like authentication). This encapsulation ensures your data is secure and can only be accessed in a controlled way.

The above is the detailed content of Abstraction and Encapsulation. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!