An example of Java Inheritance from scratch
Archive - Originally posted on "The Horse's Mouth" - 2007-08-08 00:13:23 - Graham EllisOne 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 specific 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.