>>>>> "Kevin" == Kevin Van Horn <[email protected]> writes:
Kevin> What do the rest of you think? Is my analysis correct?
No, because ...
Kevin> Properly used, OOP is all about interface inheritance, not
Kevin> implementation inheritance. (At least in C++,
Kevin> implementation inheritance -- inheriting the data members
Kevin> and method implementations of a base class -- usually leads
Kevin> to bad design, and is discouraged by the experts.)
But C++ isn't OOP. It's a bodge where OO stuff is added on top of
C. Naturally, this doesn't work out well. But that isn't necessarily
why C++ doesn't vdo implementation inheritance well.
Properly used, OOP is all about interface inheritance and
implementation inheritance, with contracts used to ensure semantically
correct behaviour.
See Eiffel.
--
Colin Adams
Preston Lancashire
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe