Interfaces as Contracts - Polymorphism Through Interfaces | OneNoughtOne