OOP pillar
. 3 core: a package inheritance polymorphism
Packaging is to hide the implementation details, also played a role in data protection.
Inheritance is to create new classes based on an existing class can inherit the core functionality of the base class.
Polymorphism is the ability of the same request, in response to different operations.