Encapsulation
According to this property, objects restrict the visibility
of their resources (attributes and methods) to other users. Every object has an
interface which plays a very important role. It determines how other objects
can interact with it. It is found that the implementation of the object is
encapsulated, which means that it is invisible outside the object itself.
Polymorphism
According to this property, identical (identically-named)
methods behave differently in different classes. Object-oriented programming
contains constructions, which are called interfaces. They enable you to address
methods with the same name in different objects. The implementation of the
method is specific to a particular class, though the form of address is always
the same.
Inheritance
According to this property, one can use an existing class to
derive a new class. The data and methods of the super class are inherited by
the derived classes. However, they can overwrite existing methods and add new
ones.