>>>>> "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

Reply via email to