What do you mean by abstraction. Explain your answer?
Answer Posted / vishal parihar
In computer science, abstraction is the process by which
data and programs are defined with a representation similar
to its meaning (semantics), while hiding away the
implementation details. Abstraction tries to reduce and
factor out details so that the programmer can focus on a
few concepts at a time. A system can have several
abstraction layers whereby different meanings and amounts
of detail are exposed to the programmer. For example, low-
level abstraction layers expose details of the hardware
where the program is run, while high-level layers deal with
the business logic of the program.
The following English definition of abstraction helps to
understand how this term applies to computer science, IT
and objects:
abstraction - a concept or idea not associated with any
specific instance[1]
Abstraction captures only those details about an object
that are relevant to the current perspective. The concept
originated by analogy with abstraction in mathematics. The
mathematical technique of abstraction begins with
mathematical definitions, making it a more technical
approach than the general concept of abstraction in
philosophy. For example, in both computing and in
mathematics, numbers are concepts in the programming
languages, as founded in mathematics. Implementation
details depend on the hardware and software, but this is
not a restriction because the computing concept of number
is still based on the mathematical concept.
In computer programming, abstraction can apply to control
or to data: Control abstraction is the abstraction of
actions while data abstraction is that of data structures.
Control abstraction involves the use of subprograms and
related concepts control flows
Data abstraction allows handling data bits in meaningful
ways. For example, it is the basic motivation behind
datatype.
One can regard the notion of an object (from object-
oriented programming) as an attempt to combine abstractions
of data and code.
The same abstract definition can be used as a common
interface for a family of objects with different
implementations and behaviors but which share the same
meaning. The inheritance mechanism in object-oriented
programming can be used to define an abstract class as the
common interface.
The recommendation that programmers use abstractions
whenever suitable in order to avoid duplication (usually of
code) is known as the abstraction principle.
Is This Answer Correct ? | 11 Yes | 2 No |
Post New Answer View All Answers
How do I start a c++ project?
Is eclipse good for c++?
Explain the term memory alignment?
Is c++ harder than java?
What is a manipulator in c++?
What is the difference between public, private, and protected access?
Describe public access specifiers?
What is the use of string in c++?
What is a v-table?
What is the c++ programming language used for?
What is endl?
What is the arrow operator in c++?
Write a program to find the Fibonacci series recursively.
What is a string example?
When is dynamic checking necessary?