Assignments that teach Interfaces

The purpose of interfaces and abstract classes is to create standards for code development such that all classes implementing an interface share common methods. In the case of the Finch, one could create interface classes that are general - like a general interface for sensing, or another for output.  The student could then build sub-classes that implement this interface for a specific sensor or output.  This kind of architecture is also necessary to demonstrate a type of Polymorphism called Dynamic method binding.


Good one

I have read that an abstract class serves the purpose of re usability of a code. At the same time, this can be implemented using a concrete class as well. However, I would like to know how it is different from an Interface.

smoke cheese