Data Abstraction Data Hiding
We have three levels of abstraction.
Data abstraction data hiding. Data hiding has to do with the instance variables which decides the state of the object. Abstraction is hiding the implementation details by providing a layer over the basic functionality. Data hiding is a process of combining data and functions into a single unit. To ease the user interaction with database the developers hide internal irrelevant details from users.
The prior purpose of abstraction is to hide the complex implementation detail of the program or software. Information hiding is hiding the data which is being affected by that implementation. Data hiding is the process that ensures exclusive data access to class members and provides object integrity. Data abstraction refers to providing only essential information to the outside world and hiding their background details ie to represent the needed information in program without presenting the details.
The main difference between data hiding and data abstraction is that data hiding hides some data from the other parts of the program. In data abstraction however the data is not completely hidden. Data hiding is also known as data encapsulation or information hiding. Key differences between abstraction and data hiding abstraction shows the relevant information and rejects the non essential details.
Difference between data hiding and abstraction definition. Data hiding ensures exclusive data access to class members and protects object integrity by preventing unintended or intended changes. This data is never available of the parts of the program that it is hidden from until the programmer rewrites the code to unhide the data. While encapsulation groups together data and methods that act upon the data data abstraction deals with exposing the interface to the user and hiding the details of implementation.
Data hiding also reduces system complexity for increased robustness by limiting interdependencies between software components. Data abstraction is a programming and design technique that relies on the separation of interface and implementation. Database systems are made up of complex data structures. On the other hand data hiding is used.
The ideology behind data hiding is to conceal data within a class to prevent its direct access from outside the class. Use of private and public comes under this. For example hiding the variables of the classes. Abstraction is hiding the code implementation from other objectuser whereas data hiding is achieved by encapsulation via pojo classes.
While data hiding focuses on protecting data abstraction focuses on hiding the complexity of the system. Hiding its content using the setter and getter methods is data hiding encapsulation.