Abstract classes and polymorphims
Interfaces