In this blog, I’m explaining the abstraction and
In the Object oriented programming’s, Abstraction is one of
the principle of object oriented programming.
Abstraction is the process of separating ideas from specific instances
of those ideas at work. Abstraction means to show only the necessary details to
the client of the object. For example, take a look at your mouse. Is it
wireless? What kind of sensor does it have? How many buttons? Is it ergonomic?
How big is it? The answers to all of these questions can precisely describe
your mouse, but regardless of what the answers are, it's still a mouse, because
it's a pointing device with buttons. That's all it takes to be a mouse.
"Silver Logitech MX518" is a concrete, specific item, and
"mouse" is an abstraction of that. An important thing to think about
is that there's no such concrete object as a "mouse", it's just an
idea. The mouse on your desk is always something more specific - it's an Apple
Magic Mouse or a Dell Optical Mouse or a Microsoft IntelliMouse -
"mouse" is just an abstract concept. Let us take the example of our
laptop Keyboard itself, here we have a number of Keys, each performing some
function dependent on the value given. Now all keys have a certain value that
is accepted by the CPU when you press it. So we create a common object called
Key with methods. This is abstraction show only the details which matter to the
Encapsulation is the term of Object Oriented Programming
concept. Encapsulation like a capsule (medicine tablet) which hides medicine
inside it. The wrapping up of attributes and behaviors into a single unit
entity is called as encapsulation. Class is the best example of encapsulation.
In Encapsulation increase the accessibility level of protection. Now if we
consider a laptop, as an end user I have access only to some features of the
system. So I could use the mouse to move the cursor, or the keyboard for typing
text, but I would not have access to the internal components of the laptop.
Again the keyboard in turn is bound internally to a set of methods that operate
in response to a user action or an event.