Object oriented programming uses inheritance, where a derived class inherits properties from a base class. There are four main types of inheritance: single inheritance where a derived class has one base class; multiple inheritance where a derived class has multiple base classes; multilevel inheritance where a class inherits from another derived class; and hierarchical inheritance where one base class is inherited by multiple derived classes. Inheritance enables code reuse and is a fundamental concept of object oriented programming.