Object-oriented Programming

Object-oriented programming is a Programming Paradigm based on the usage of objects.

Objects are entities with an internal state associated with certain operations that can manipulate its state. They are organized in an hierarchy of classes, subclasses and instances.

Inheritance

Inheritance is the process of transmitting a class’s internal state and its methods to all of its subclasses, except if any of those are explicitly overwritten on the subclass definition.