Friday, May 25, 2007

What is Abstraction?

Here are couple of definitions of Abstraction -

Abstraction (from the Latin abs, meaning away from and trahere, meaning to draw) is the process of taking away or removing characteristics from something in order to reduce it to a set of essential characteristics. In object-oriented programming, abstraction is one of three central principles (along with encapsulation and inheritance). Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency. In the same way that abstraction sometimes works in art, the object that remains is a representation of the original, with unwanted detail omitted. The resulting object itself can be referred to as an abstraction, meaning a named entity made up of selected attributes and behavior specific to a particular usage of the originating entity. Abstraction is related to both encapsulation and data hiding.

Abstraction is the process of hiding the details and exposing only the essential features of a particular concept or object.

A view of a problem that extracts the essential information relevant to a particular purpose and ignores the remainder of the information.

The essence of abstraction is to extract essential properties while omitting inessential details.

No comments: