Ans. First of all OOP stands for object oriented programming. It is a programming paradigm that represents the concepts as “objects” that have data fields (attributes that describe the object) and associated procedures known as methods. Objects, which are actually instances of classes, are used to interact with one another to design applications and computer programs.
The characteristics of Object Oriented Programming (OOP) paradigm as follows:
Encapsulation is defined as the wrapping up of data and methods under one name. So this feature captures the data and keeps it safe and secure from the outside interfaces.
Inheritance is defined as the process in which the properties and behaviour of an entity or class is derived by another of same type. So in this process a class can be derived from another class which is known as base class with all the features of the base class in addition to some of its own. This feature increases re-usability of the code.
Polymorphism is defined as different units having same name but of different forms. This feature defines the ability to exist in various forms. For example an area method can calculate the area of square, of rectangle, of triangle and even of circle. Here all the area methods are different and works differently, but their name are same and ultimately does the same work, i.e., calculates area but of different forms i.e., of different geometrical figures.
Abstraction is defined as the feature of representing the essential features without displaying the background details or explanation. Thus this is the ability to represent data at a very conceptual level without any details.
The major aspects of Object Oriented Programming (OOP) paradigm are as follows:
1. Reduced Maintenance :
The primary goal of object-oriented development is the assurance that the system will enjoy a longer life while having far smaller maintenance costs. Because most of the processes within the system are encapsulated, the behaviors may be reused and incorporated into new behaviors.
2. Real-World Modeling :
Object-oriented system tend to model the real world in a more complete fashion than do traditional methods. Objects are organized into classes of objects, and objects are associated with behaviors. The model is based on objects, rather than on data and processing.
3. Improved Reliability and Flexibility :
Object-oriented system promise to be far more reliable than traditional systems, primarily because new behaviors can be “built” from existing objects. Because objects can be dynamically called and accessed, new objects may be created at any time. The new objects may inherit data attributes from one, or many other objects. Behaviors may be inherited from super-classes, and novel behaviors may be added without effecting existing systems functions.
4. High Code Re usability :
When a new object is created, it will automatically inherit the data attributes and characteristics of the class from which it was spawned. The new object will also inherit the data and behaviors from all super classes in which it participates.
I hope I was able to clear out this topic. If you still have any query or any suggestion regarding this topic, please feel free to share it with us in the comment box below.