The Interface is an object-oriented programming construct that is used by objects to define the methods and properties they expose, and to facilitate interactions with other objects. An interface contains related methods with empty bodies but no implementation. An interface is a useful construct in object-oriented programming and design; it allows the crafting of software applications that are flexible and loosely coupled.
The Interface Segregation Principle (ISP) states that interfaces should be modest, by containing definitions for only properties and methods that are needed, and clients should not be forced to implement interfaces that they don't use, or depend on methods they don't need.
To implement the ...