XP is just a number | |
PerlMonks |
comment on |
( [id://3333]=superdoc: print w/replies, xml ) | Need Help?? |
A few years ago, it was easy to get into immense flamewars with OO guys over a Circle class and its relation to an Ellipse class. It's probably just as easy now, but I quit paying attention. "Which inherits from which?" was often the point of contention. The OO'ers would contend that Circle is the base class because it contains less data. The mathematicians would scoff, pointing out that a circle is a degenerate case of an ellipse. It seemed to me that the OO example Circle class was chosen without enough domain knowledge, and that the mathematicians did not appreciate the need to save one number's worth of storage. The OO is-a rule was ignored by the OO crew. Any circle is-an ellipse, but not every ellipse is a circle. That makes Circle a specialization of Ellipse, hence a subclass of it. It's uncommon in ordinary CS problems for a specialization to require less data than the base class. There, I've gone and whacked that ol' hornet's nest again ;-) P.S. Accessors are a fine thing when there is inheritance and method implementations in the base class. After Compline, In reply to Re: The Accessor Heresy
by Zaxo
|
|