• [^] # Re: Et le Troll, il arrive quand ?

    Posté par (site web personnel) . En réponse à la dépêche Une nouvelle version stable de SmartEiffel. Évalué à 1.

    > les defendeurs de Java affirment que les interfaces sont mieux que l'héritage multiple,

    Ils n'ont pas tord.

    Une interface ne change pas la taille de l'objet par exemple. Or, en C++, quand tu as de l'héritage multiple avec des données, le cast de pointeur vers l'un ou l'autre des parents entraine un décallage d'addresse, qui fout la merde dans bien des cas. Par exemple, (parent *)x va marcher là ou (parent *)(void *)x va faire un segfault.

    Le C++ n'est pas capable de faire le lien entre une implémentation héritée d'un parent et une méthode virtuelle pure héritée d'un autre parent. Il dit toujours que la méthode n'est pas implémentée.

    En Java, on est sur de ne jamais avoir de problème si la hierarchie de classes est un DAG.