If you had a Dog class, you might extend it, is-a style, to Dalmatian by subclassing and adding fields specific to Dalmatians, such as spotCount. In the real world every Dalmatian is a Dog. That is why this style of extension works out.
On the other hand, If you wanted to add fields about microdetails of a Dog’s tail, your could conceivable add some tail-describing fields to the Dog class or create a new Tail class, and add an optional reference to a separate Tail object in each Dog record. You might make Tail an inner class of Dog. This has-a approach works because in the real world a Dog has a Tail. You can’t say a Dog is a Tail. If you focus on the real world meaning of the terms is and has you will automatically select the correct way to extend a class.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.61] | The information on this page is for non-military use only. | ||
| You are visitor number 11. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | ||
| http://mindprod.com/jgloss/isa.html | J:\mindprod\jgloss\isa.html | ||