In The craft
The Three Tenets of Object Oriented Design
The three principles of Object Oriented Design.
P.I.E.

Polymorphism – Is the ability of an object to have more than one form.
Inheritance – Is the ability for an object to be sub classed from a base or parent class. Typically the child classes share some common functionality with the parent class.
Encapsulation – This is simply the hiding of implementation or data. “Don’t be concerned on how it’s done…”