is-a : Java Glossary

is-a
There are two basic ways to extend a class is-a and has-a.

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.


available on the web at:

http://mindprod.com/jgloss/isa.html
ClustrMaps is down

optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\isa.html
logo
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy.
Blog
IP:[65.110.21.43]
Your face IP:[54.196.23.239]
You are visitor number 11.