One of the most important topics for newcomers to OO (Object oriented) programming to learn is how to design their classes and make best use of inheritance, and I find myself writing new examples from first principles during our courses. That way, the delegates learn how to actually do the job - they're NOT just presented with a "here is one I wrote earlier" and left to struggle!
In order to let the delegates then refer to the code I wrote, I've put it up on our wiki ... the web formatting isn't very tidy, but it's a great "all in one place" reference for them when they come to do their own practical.
The first example is at
http://www.wellho.net/share/javainherit.html. It's a base class called "Animal" with two subclasses called "Farm" and "Pet" with the whole thing being tested by "Anitest". The beauty of using inheritance in this way is that you can put the common code in "Animal" and then just the farm-specific or pet-specific stuff into the Farm and Pet classes - saves code duplication.
That first example isn't perfect, though. We want to extend it as follows:
a) To have an array of animals that we can loop through
b) To use a utility function to handle multiple similar methods
c) To provide static methods than work on the whole
d) To set up Animal such that we can force all extended classes to have specifi enhancements ("abstract")
e) To provide functions to compare two or more objects in a way we define.
These extras are in my second example at
http://www.wellho.net/share/javainherit2.html.
(written 2007-08-00 00:13:23)
Associated topics are indexed under
J710 - Java - Extending Classes and More
Some other Articles
From LeedsStuffing content into a web page - easy maintainanceAn example of Java Inheritance from scratchWeymouth - Sunny Summer Sunday afternoonDHCP automatic IP address v Static IPDay trip to WeymouthBadges, Breakfasts and TriggerPure PerlLinux run states, shell special commands, and directory structuresWork and play at Well House Manor - Football and Shell Shortcuts