December 2017
Beginner to intermediate
470 pages
12h 29m
English
An interface is the part of a class that is made public for other objects to use. Specifically, it's a set of definitions for the public methods of a class. Of course, the more public methods an object has, the more responsibilities and the less flexibility it has towards the outside world. Note that the interface does not provide any details about implementation; it's just a contract which defines what inputs and what outputs are expected when a method is called.
Sometimes, you want to give yourself the flexibility of changing the object for a given task according to context. You know that as long as the interfaces for the objects you want to interchange are the same, everything should be fine ...