Inheritance:
1. Inheritance is the process by which objects of one class acquire the properties of objects of another class.
2. It supports the concept of hierarchical classification. It also provides the idea of reusability.
Data abstraction:
1. Data abstraction refers to the act of representing essential features without including the background details or explanations.
2. Classes use the concept of abstraction and are defined as a list of abstract attributes such as size, weight and cost and functions to operate on these attributes.
Data encapsulation:
1. The wrapping up of data and functions together into a single unit (called class) is known as encapsulation.
2. By this attribute the data is not accessible to the outside world, and only those functions which are wrapped in the class can access it.
Dynamic Binding:
1. Dynamic binding refers to the linking of a procedure call to be executed in response to the call.
2. It is also known as late binding. It means that the code associated with a given procedure call is not known until the time of the call at run-time.