Skip to main content

Difference between Abstraction and Encapsulation

Brief

It’s almost true that every encapsulation is an abstraction because they both hide something, however, they have their fair share of differences.

Difference between Abstraction and Encapsulation

While both are fundamental concepts related to OOP and they are technically inseparable, they still have their differences in many aspects.

Differences  in “ Definition” of Abstraction and Encapsulation 

– Abstraction is a fundamental OOP concept which emphasizes on all the essential aspects of an object by hiding the irrelevant details to increase efficiency and eliminate complexity. Encapsulation, on the other hand, is a data hiding mechanism which wraps the data and information in a capsule to restrict access from outside world.

Differences  in “Functionality” of Abstraction and Encapsulation

– Abstraction is a data hiding mechanism which highlights only the essential features to make complex programs simpler, while encapsulation, on the other hand, is a method of binding data and codes into a single entity. The idea is to shield the implementation details from external access.
Differences  in “Implementation” of Abstraction and Encapsulation – Abstraction is implemented using abstract class and interface, while encapsulation is implemented using access modifiers. Five types of modifiers are used to encapsulate data: Private, Public, Internal, Protected, and Protected Internal.

Differences  in “Concept” of Abstraction and Encapsulation

– The idea behind abstraction is to focus on what rather than how. Encapsulation hides the internal mechanics of how. For example, when you drive a car, you know exactly what the brake pedal does but you may not know the whole mechanism behind it because the data is encapsulated.
Differences  in “Example” of Abstraction and Encapsulation – Let’s take an example of a smartphone. You know what it does but you may not know how it does what it does. You only care about the display screen and keypad buttons rather than worrying about its inner circuitry. Here, smartphone is an abstract where the inner implementation details are encapsulated.

Abstraction vs. Encapsulation with the comparison table


Abstraction
Encapsulation
- It deals with only the relevant details by hiding the irrelevant ones to reduce complexity thereby increasing efficiency. - It binds the data and information together into a single entity to protect the data from external sources.
- It refers to the idea of hiding data which is not required for presentation purposes. - It hides the data and code in order to restrict unwanted access.
- It focuses on what rather than how. - It hides the internal mechanics of how it does something.
- It hides the unnecessary details on the design level. - It also hides the details but on the implementation level.
- Information and data is separated from the relevant data. - Information is hidden inside a capsule for close access.
- It deals with ideas rather than events. - The idea is to protect the data from outside world.
- It’s implemented using abstract class and interface. - It’s implemented using protected, private, and package-private access modifiers.

References
 (Thank You All For Your Efforts)
differencebetween.net/technology/difference-between-abstraction-and-encapsulation/

Comments

Popular posts from this blog

Useful video links with Questions and Answers(.NET, SQL/Database, Azure, DSA, Docker, GIT, AI)

A) AI What is artificial intelligence (AI)? B) .NET SOLID Principles In C# With Examples Design Patterns In C# .NET (2023)   Design Patterns   Software Architecture And Patterns Shiva Kumar - .NET (Youtube)   Multithreading and multitasking Multithreading and asynchronous programming and parallel programming in C# (Youtube)   C) SQL/Database SQL Query Interview Questions - SQL Server Database (Youtube)   ACID Properties Of Transaction In DBMS (Youtube) D) Azure   Modules in this learning path - MSDN Susanth Sutheesh (Youtube)   E) DSA   Strivers A2Z DSA Course/Sheet F) Docker   Docker - Everything You Need To Know G) GIT   Start with Git & GitHub in Visual Studio Misc https://www.youtube.com/watch?v=aaUInV445BY Salary Negotiation - 10 tips on how to negotiate a Higher Salary    

npm install on windows 7 python2 not found error and node-sass@3.13.1 error #317

Before I write all, I'd like to say that before the update everything worked well; while updating node from version 7.2.1 to version 9.4.0 and npm from version 5.5.1 to version 5.6.0 in Windows 7 (64-bit) using the installer (https://nodejs.org/en/download/) and installing globally gulp-cli version 2.0.0, as far as npm install starts from the JointsWP folder I get the following error: $ npm install npm WARN deprecated babel-preset-es2015@6.24.1: รฐ  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! npm WARN deprecated gulp-util@3.0.8: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5 npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue > uws@0.14.5 install C:\Users\Bob\Dropbox\Development\vhosts\mongoose-project\vanilla\themes\JointsWP\node_modules\uws > node-gyp rebuild > build_log.txt 2>...

Buying my buddy - Laptop

 Brief  I am planning to buy a new laptop and I am putting everything here which I come across while looking for best laptop which fits my requirements. My Requirements  Programming: .NET, Angular, SQL, Visual Studio, SQL Server Video Editing Country where I live is Nepal Able to use at least for 5 years Considering the above requirements, I will going with the Dell laptop though in Nepal Acer is quite famous and I will highlight why choose Dell over other laptop.  Before Buying, let's understand the terminology RAM SSD Nits Cooling Graphics Thunderbolt USB WIFI Screen SRGB Laptop meeting my requirements Below configuration will do my job smoothly for at least 5 years and they are: 16GB RAM DDR5 SSD Laptops Meeting My Requirments are: https://www.flipkart.Lenovo IdeaPad Pro 5com/lenovo-ideapad-pro-5-intel-core-ultra-9-185h-32-gb-1-tb-ssd-windows-11-home-14imh9-thin-light-laptop/p/itm1f4865cbfe7ea?pid=COMGZN7RRHARKTDE&lid=LSTCOMGZN7RRHARKTDE4G0GAP&marketplace=...