Inheritance is one of the basic concepts of Object Oriented Programming. It’s objective is to add more detail to pre-existing classes whilst still allowing the methods and variables of these classes to be reused. The easiest way to look at inheritance is as an “…is a kind of” relationship. For example, a guitar is a kind of string instrument, electric, acoustic and steel stringed are all types of guitar. The further down an inheritance tree you get, the more specific the classes become. An example here would be books. Books generally fall into two categories, fiction and non-fiction. Each of these can then be sub-divided into more groups. Fiction for example can be split into fantasy, horror, romance and many more. Non-fiction splits the same way into other topics such as history, geography, cooking etc. History of course can be sub-divided into time periods like the Romans, the Elizabethans, the World Wars and so on.