MOO-cows Mailing List Archive
[Prev][Next][Index][Thread]
Re: "verbing properties" and related issues
>This is exactly the reason Multiple Inheritance will not work in a MOO -
>besides the fact it is much less necessary in MOO than in most OO
>languages. C++ needs MI because it can't string 'classes' together, like
>MOO can (As far as i know, i haven't studied C++ that much, yet)
What do you mean "string classes together"?
>C++ can handle MI because it just won't compile if there are errors
>(methods defined on more than one parent, for instance) and the programmer
>would have to edit it. A MI MOO object might run fine, but if some other
>programmer alters one or more of the parents, the whole thing might stop
>working, or worse, give slight errors or destroy a database that has
>been worked on for months (provided you do that in your MOO, without
>making backups :)
This is simply not true. C++ compiles just fine with MI conflicts, and you
use the scope resolution operator to pick the proper parent. ColdMUD has
MI, and it uses the first parent it finds in a breadth-first search of the
parent tree.
Not that I'm for adding MI to MOO. I've seen _one_ single case where it's
called for, and that's in making an object into a feature object. Normally
under Lambdacore, one has to add a couple properties, in JHcore, a single
method (and that method has to be adapted). MI would just let you tack on a
parent of $feature and use interface methods to tell it which verbs are
"feature verbs". I can't think of a single other use of MI that can't be
better solved with a containment relationship.
Home |
Subject Index |
Thread Index