is-a : Java Glossary

go to home page I words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish 2008-06-23 by Roedy Green ©1996-2008 Canadian Mind Products
index page for letter ⇒ punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all)
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. 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.


CMP homejump to top
CMP logo
feedback Please email your feedback for publication, errors, omissions, broken/redirected link reports
and suggestions to improve this page to Roedy Green : feedback email
made with CSS
HTML Checked!
ICRA ratings logo
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