What Is Object Oriented Programming
What Is Object Oriented Programming
What is a Class?
A class describes all the attributes of objects, as well as the methods that
implement the behaviour of member objects. It is a comprehensive data type,
which represents a blue print of objects. It is a template of object.
What is an Object?
They look very much same but are not same. Class is a definition, while object is
a instance of the
class created. Class is a blue print while objects are actual objects existing in real
world. Example
we have class CAR which has attributes and methods like Speed, Brakes, Type of
Car etc. Class
CAR is just a prototype, now we can create real time objects which can be used
to provide
functionality. Example we can create a Maruti car object with 100 km speed and
urgent brakes.
Abstraction
It allows complex real world to be represented in simplified manner. Example
color is abstracted
to RGB. By just making the combination of these three colors we can achieve any
color in world.
It is a model of real world or concept.
Encapsulation
It is a process of hiding all the internal details of an object from the outside
world.
Inheritance
Hierarchy is used to define more specialized classes based on a preexisting
generalized class.
Example we have VEHICLE class and we can inherit this class make more
specialized class like
CAR, which will add new attributes and use some existing qualities of the parent
class. Its shows
more of a parent-child relationship. This kind of hierarchy is called inheritance.
Polymorphism
When inheritance is used to extend a generalized class to a more specialized
class, it includes
behavior of the top class (Generalized class). The inheriting class often
implements a behavior
that can be somewhat different than the generalized class, but the name of the
behavior can be
same. It is important that a given instance of an object use the correct behavior,
and the property
of polymorphism allows this to happen automatically.
What is a Interface?
Interface is a contract that defines the signature of the functionality. So if a class
is implementing
a interface it says to the outer world, that it provides specific behavior. Example
if a class is
implementing Idisposable interface that means it has a functionality to release
unmanaged
resources. Now external objects using this class know that it has contract by
which it can dispose
unused unmanaged objects.
Single Class can implement multiple interfaces.
If a class implements a interface then it has to provide implementation to all its
methods.