Beginning Java Objects: Chapter 2
Abstraction and Modeling
Coming up with precisely which rules are necessary to properly classify an object within an abstraction
hierarchy is not always easy. Take, for example, the rules we might define for what constitutes a bird:
namely, something which:
- Has feathers
- Has wings
- Lays eggs
- Is capable of flying
Given these rules, neither an ostrich nor a penguin could be classified as a bird, because neither can fly.
If we attempt to make the rule set less restrictive by eliminating the 'flight' rule, we are left with:
- Has feathers
- Has wings
- Lays eggs
According to this rule set, we now may properly classify both the ostrich and the penguin as birds.
This rule set is still unnecessarily complicated, because as it turns out, the 'lays eggs' rule is redundant:
whether we keep it or eliminate it, it doesn't change our decision of what constitutes a bird versus a non-
bird. Therefore, we simplify the rule set once again:
Feeling particularly daring (!), we try to take our simplification process one step further, by eliminating
yet another rule, defining a bird as something which:
We've gone too far this time: the abstraction of a bird is now so general that we'd include airplanes,
insects, and all sorts of other non-birds in the mix!
The process of rule definition for purposes of categorization involves 'dialing in' just the right set of
rules — not too general, not too restrictive, and containing no redundancies — to define the correct
membership in a particular class.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.