Object-Oriented Approach 1: Enums and Interfaces

o Interfaces revealing only method signatures o Abstract base classes