- Abstraction
Abstraction includes the ability, in object-oriented programming theory, to identify objects that represent abstraction of "actors," which can function, report, change their state and "communicate" with other objects in their framework.
Abstraction is the process in computer science in which data and programmes may be described in a form similar to their meaning, while the implementation details are concealed from them.
- Polymorphism
The ability to adopt many forms is polymorphism. Suppose we have a parent class and a few child classes. Now we want to use parent and child class attributes, but how will this be accomplished? Polymorphism will make this possible. Abstract entities are carried out in polymorphism in many ways. It offers a way of processing a class that is exactly like that of a parent class, such that there is no mistake of mixing classes and each child class keeps its methods as they were. This can be accomplished with the reuse of a parent interface to allow the child class in its own version to implement these methods.
- Encapsulation
Encapsulation is called the binding of data and methods in one unit. Encapsulation is done when any object in the class maintains its private state. Data within this unit are not usable by external objects and can be accessed by only certain functions within this unit. Thus by its process, the object manages its situation and we are going to need the support of the public methods of this class in order to interact with it.
- Inheritance
In the inheritance we build a new class, which comes from the existing class called the parent class, creating an archive of classes. The child class echoes the data fields and methods it needs from the parent class to its own specific features.
A vehicle may for example, be a parent calss, from which children like Bike and Car can be derived. They share the similar characteristics of fuel and passenger transport, but they vary in the number of passengers they can transport and more in their ability.