What is Object Oriented Programming?
It is a problem solving technique to develop software systems. It is a technique to think real world in terms of objects. Object maps the software model to real world concept. These objects have responsibilities and provide services to application or other objects.
(B) What is a Class?
A class describes all the attributes of objects, as well as the methods that implement the behavior of member objects. It is a comprehensive data type, which represents a blue print of objects. It is a template of object.
(B) What is an Object?
They are instance of classes.It is a basic unit of a system. An object is an entity that has attributes,behavior, and identity. Attributes and behavior of an object are defined by the class definition.
(A) What is the relation between Classes and Objects?
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.
Following are characteristics of Object Oriented System’s:-
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.
Communication using messages
When application wants to achieve certain task, it can only be done using combination of objects.
A single object cannot do all the task. Example if we want to make order-processing form. We
will use Customer object, Order object, Product object, and Payment object to achieve this
functionality. In short, these objects should communicate with each other. This is achieved when
objects send messages to each other.
Object lifetime
All objects have lifetime. Objects are created, and initialized, necessary functionalities are done
and later the object is destroyed. Every object have there own state and identity, which differ
from instance to instance.
Class hierarchies (Inheritance and aggregation)
Twist: - What is difference between Association, Aggregation, and Inheritance relationships?
In object, oriented world objects have relation and hierarchies in between them. There are three
kind of relationship in Object Oriented world:-
Association
This is the simplest relationship between objects. Example every customer has sales. So
Customer object and sales object have an association relation between them.
Aggregation
This is also called as composition model. Example in order to make a “Accounts” class it has use
other objects example “Voucher”, “Journal” and “Cash” objects. Therefore, accounts class is
aggregation of these three objects.
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.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment