Object technology has been around for over 20 years, but has been increasing in popularity since the late 1980's. Key concepts associated with objects and object oriented programming are encapsulation, inheritance, and polymorphism. In object oriented languages, data and its functions are encapsulated into a single entity. All the information is stored within the object and can only be manipulated when the object is ordered to perform its operations, preventing the data from being accidentally changed by hiding the internal information structure. The designer of the object determines what data the user can and cannot change.
Inheritance is the ability to derive an object from an existing object.
If the child has children, then a hierarchy is developed. When a child inherits qualities from more than one object, it is called multiple inheritance. Polymorphism is the ability to give many operations the exact same name and have those operations perform differently. Objects promise code reuse and higher levels of software productivity through encapsulation and inheritance. The programmer is able to inherit from an existing object and then modify it to fit their particular needs.