Liste des Groupes | Revenir à col misc |
On Mon, 30 Sep 2024 10:24:30 +0100, Pancho wrote:Single inheritance bewilders and confuses people, that is why we have rules for good practice to favour composition over inheritance, to avoid obscuring what the code does. The idea being to avoid deep hierarchies.
On 9/30/24 00:15, Lawrence D'Oliveiro wrote:But it makes the difference between multiple inheritance that>>
C3 linearization
Never heard of that before. It sounds far to difficult to understand in
practice.
bewilders and confuses people, and multiple inheritance which makes
sense. It’s what lets Python have multiple inheritance that makes
sense.
Think about why languages like Java and PHP avoided multipleI quite like interfaces, polymorphism through interfaces. I was generally happier to do a bit of extra code, reimplementing a conflicted interface than I would be having to understand a clever linearization (total ordering).
inheritance, and substituted those lame “interfaces” instead: it was
to avoid this bewilderment and confusion that is known to plague C++,
because the right solution wasn’t known at the time.
Once you read the description, you realize it’s the only right way toI had a look, it would take me a while to work through the algorithm, establish how the ideas sit in the more common language of DAGs and graph theory. If there is a significant difference that requires new terms such as monotonic.
do things, and you wonder why everybody wasn’t already doing it this
way.
Here is the paper: “A Monotonic Superclass Linearization for Dylan”
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.3910&rep=rep1&type=pdf>
Les messages affichés proviennent d'usenet.