Liskov Substitution Principle | SOLID Principles | Multiple Code Examples