Does anybody have some actual good examples for teaching inheritance to beginners? I've thought about this for quite some time and couldn't come up with anything that strikes a nice balance between simple and actually useful.
I admit I taught intro to C++ and used shapes as an example. I spent a few weeks building a little "ASCII render" thingy with a 80x30 "canvas" where each character is a pixel. Then you could place Shapes on the canvas and the shape would decide whether a given pixel was contained() inside of it.
I remember my first OO class where the car analogy was proven to be bad using the existence of the El Camino.