This episode, we look at interfaces.  These are not supported by all languages.  However, when they are supported, they are very useful.  The interface specification allows us to provide language-based constraints for our method signatures.  It also is an excellent way to enforce consistancy.

Interfaces As A Tool For Consistency

The most important result of using interfaces is that they enforce a consistent way to communicate with developers.  Any class that uses one of these items will be forced to comply with the defined signatures.  The language compiler or validations will let the developer know when they are not following the rules.  While there might be empty methods allowed, the developer must specifically handle the method and return an empty result.

Common Examples

The typical methods and functions we have mentioned throughout this season are going to often end up in an interface.  We see this in frameworks where there are numerous helper objects in the system.  For example, there may be interfaces to save, print, load, export, or compare instances.  These consistent interfaces allow us to treat a broad range of disparate objects the same. One such example would be sorting a list.  We all can imagine sorting a list of names.  On the other hand, how would we sort a list of cars?  We can implement a compare interface in the car class.  That can provide a process for comparing two cars and deciding an order for them.  Once that has been implemented, we can display a list of cars and provide a sort option.

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply