-2

I am trying to understand behavioral abstraction, particularly in relation to the concept of object oriented programming. My current understanding is that it is a combination of data and procedural abstraction, which are combined to create class methods. These methods are essentially functions (procedural) that act on specific data types (data abstraction). Could anyone clear this up for me?

Kara
  • 6,115
  • 16
  • 50
  • 57
Vladamir
  • 247
  • 1
  • 3
  • 11

1 Answers1

0

I don't know if I am going to give the best answer but I thought I should give it a try.

Abstraction means, in simple language: Logical representation of data.

Like Queue, Stack, etc.

Detailed from wiki

Abstract data type (ADT) is a mathematical model for data types where a data type is defined by its behavior (semantics) from the point of view of a user of the data, specifically in terms of possible values, possible operations on data of this type, and the behavior of these operations.

In the context of OOP:

Like Linked list, Hash Map, etc in Data structure, we have Classes and Objects in OOP. These are also logical representation model in programming world mapped to real world entities. We have data hiding, encapsulation, inheritance, and many more features that resemble real world scenario.

A detailed discussion is here. A few lines are posted here.

Data abstraction refers to, providing only essential information to the outside world and hiding their background details, i.e., to represent the needed information in program without presenting the details.

Data abstraction is a programming (and design) technique that relies on the separation of interface and implementation.

Hope it has given you some clue. I have tried to explain in simple words as much as possible.

Community
  • 1
  • 1
Nabin
  • 11,216
  • 8
  • 63
  • 98