Interfaces contain no instructions to be executed and only describe what functions and properties a class implementing it should expose.
You may wonder what interfaces may be useful for since they contain no instructions to be executed.
Well indeed, sometimes you just want to get an object that's able to do some things for example, let's say you are writing an application that has to handle the sequencing of some animations. You do not really care how an animation is implemented (that is, what instructions it contains), what you want to do is be able to start it, stop it, and go to a position in it, but you do not care how the animation handles all these actions.
This is a typical case where interfaces will be used. In our example, we could create a "Playable" interface (that's a pretty good name although it does define other possibilities). This interface will define several functions:
Function's name |
Function's type |
---|---|
start |
Void->Void |
stop |
Void->Void |
goto |
Int... |