In article <C8w1wD.p5@cs.bham.ac.uk> A.Sloman@cs.bham.ac.uk (Aaron Sloman) writes:
I have often noticed that one group of people (A) regard encapsulation
(data-hiding) and data-abstraction as the main feature of object
orientation, and others (B) have tended to regard the use of inheritance
(and the associated polymorphism of methods) as the main feature.
A. For people most concerned with *safety* in software design
B. For people most concerned with the *expressive power* of a language,
[. . .]
Similarly people who are in category (A) regard inheritance as being of
secondary importance compared with abstraction and encapsulation, and
were therefore surprised at my surprise!
In fact, in an earlier discussion in comp.lang.dylan I believe that
some type A people depricated inheritance (especially in presence of
method combination and multi-methods) because you couldn't easily
point to all the code that implemented a given operation. Those @#$%
BEFORE and AFTER methods could be lurking anywhere.
|