Explain the relationship between Data Abstraction and Encapsulation

QuestionsExplain the relationship between Data Abstraction and Encapsulation
priyankaPublished on: 3/28/2024 6:19:21 AM



1 Answers
Best Answer 0

Difference betweenEncapsulation andAbstraction in OOPS



Abstraction and Encapsulation are two important Object Oriented Programming (OOPS) concepts. Encapsulation and Abstraction both are interrelated terms.



Real Life Difference BetweenEncapsulation andAbstraction



Encapsulate means to hide. Encapsulation is also called data hiding.You can think Encapsulation like a capsule (medicine tablet) which hides medicine inside it. Encapsulation is wrapping, just hiding properties and methods. Encapsulation is used for hide the code and data in a single unit to protect the data from the outside the world. Class is the best example of encapsulation.



Abstraction refers to showing only the necessary details to the intended user. As the name suggests, abstraction is the "abstract form of anything". We use abstraction in programming languages to make abstract class. Abstract class represents abstract view of methods andpropertiesof class.



Implementation Difference BetweenEncapsulation andAbstraction



1. Abstraction is implemented using interface and abstract class while Encapsulation is implemented using private and protected access modifier.



2. OOPS makes use of encapsulation to enforce the integrity of a type (i.e. to make sure data is used in an appropriate manner) by preventing programmers from accessing data in a non-intended manner. Through encapsulation, only a predetermined group of functions can access the data. The collective term for datatypes and operations (methods) bundled together with access restrictions (public/private, etc.) is a class.



3. Example of Encapsulation



Class Encapsulation

{

private int marks;



public int Marks

{

get { return marks; }

set { marks = value;}

}

}



4. Example of Abstraction



abstract class Abstraction

{

public abstract void doAbstraction();

}



public class AbstractionImpl: Abstraction

{

public void doAbstraction()

{

//Implement it

}

}