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, or a totally separate class. 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.
This page is posted |
http://mindprod.com/jgloss/isa.html | |
Optional Replicator mirror
|
J:\mindprod\jgloss\isa.html | |
Please read the feedback from other visitors,
or send your own feedback about the site. Contact Roedy. Please feel free to link to this page without explicit permission. | ||
Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[3.15.139.250] |
| |
Feedback |
You are visitor number | |