Inheritance is a useful and powerful concept in object-oriented programming languages, such as Java and C++. Inheritance is used to provide subclasses with the same instance variables and operations as the superclass they inherit from. Subclasses have an “is a” relationship with the classes they inherit, for example, a Rabbit class would inherit from an Animal class and would inherit all standard animal behaviour; however, the class would also add additional rabbit specific functionality to its own class.