Set of instruction used to execute a process is called as software.
The programming approach that focuses on the procedures for the solution of a problem is known as procedural programming paradigm. This approach emphasizes on the doing rather than the data.
The two major languages are low and high level languages.
A program in a procedural language is a list of instructions where each statement tells that the computer to do something.
A set of related procedure with the data they manipulate is called a module.
An object is an entity as an entity that contains data and its related functions. The function operates on that data. The objects may be either physical or logical. While representing objects in computer it occupies some memory space and has an associated address. During execution objects can exchange information.
A class is a template or a blue print representing a group of objects that share common properties and relationship.
The components of OOPs are data abstraction, data encapsulation, modularity, inheritance and polymorphism
Encapsulation is a technique used to protect the information in an object from other objects. Data encapsulation is the most striking feature of a class. The data is not accessible to the outside world and only those functions which are wrapped in the class can access it. These functions provide the interface between the objectâ€™s data and the program. The insulation of the data from direct access by the program is called data hiding
Modularity is the property of a system that has been decomposed into a set of cohesive and loosely coupled modules.
It is the process by which objects of one class acquire the properties of objects of another class. It supports the concept of hierarchical classification. For example the bird robin is a part of the class flying bird which is again a part of the class bird. OOPs have a feature that we can add additional features to an existing class without modifying it. This is possible by deriving a new class from the existing one. The new class will have the combined features of both the classes.
Polymorphism is the ability for a message or data to be processed in more than one form.
Reusability: In OOPs, program functions and modules that are written by a user can be reused by other users without any modification
Code sharing: In OOPs, the programmer can share the codes which are common to more than one class by defining it in the parent classes in hierarchical order.
With OOP classes tend be overly generalized.
The relation of classes sometimes become artificial
The OOPs design is tricky
Also one needs to do proper planning and proper design for OOP program.
A derived class is a class that inherits properties from some other class. A base class is a class whose properties are inherited by derived class. A derived class has nearly all the properties of base class but the reverse of it not true.
The concept of OOPs is abstraction, data abstraction, encapsulation, inheritance and polymorphism.