Demonstrating inheritance through the Finch is fairly straight-forward; after all, the Finch class can simply form the super-class for any sub-classes students are asked to write. One can imagine classes that add functionality by building on the core capabilities of the Finch API in a number of ways.
The default Finch class is final and does not allow inheritance. If you wish to use non-final Finch class, simply download an alternate finch.jar and replace the existing finch.jar with the newly downloaded one.
One way to extend the Finch API is to add more advanced methods for data evaluation. Students may have had to create some of these methods for assignments earlier in the class, so it may make intuitive sense to them why these could be added to a Finch sub-class.
Another way to extend the API is to add specific behaviors. For example, one could add an animal class with methods to have the Finch act like different animals. Or one could create a shapes class for having the Finch drive in pre-programmed patterns. Finally, one could add smart behaviors like light seeking and obstacle avoidance.
The RSS Readers included with the Finch class provide a good case study in inheritance. In this case, a generic class which uses a third party library to read RSS feeds is extended to read specific feeds from websites that provide data on weather, news, earthquakes, stocks, movies, and more.