Questions d'un "mannequin - page 128

 
mql5:
Nous n'oublierons pas ;)
Vous feriez mieux de remplacer la surcharge des opérateurs par l'héritage multiple. Ce serait beaucoup plus utile.
 
TheXpert:
Au lieu de surcharger les opérateurs, il est préférable d'avoir un héritage multiple. Ce serait beaucoup plus utile.
Malheureusement, ce n'est pas prévu. Pour l'instant, nous n'envisageons que la possibilité d'hériter de classes à partir de structures.
 
TheXpert:
Vous feriez mieux d'implémenter l'héritage multiple au lieu de surcharger les opérateurs. Ce serait beaucoup plus utile.

Bien écrit - faites en sorte que cela se produise :) C'est exactement ce que fait l'héritage multiple.

Il y a une semaine, j'ai participé à une discussion intitulée "héritage multiple vs. agrégation" et l'agrégation a remporté une victoire convaincante.

 
Vladix:

J'ai participé à la discussion sur l'héritage multiple et l'agrégation il y a une semaine, et l'agrégation a remporté une victoire convaincante.

Eh bien oui, écrire un kilomètre de code enveloppe pour chaque classe d'implémentation est bien meilleur et plus efficace. Et beaucoup plus rapide aussi.

Surtout si les interfaces sont au nombre d'une douzaine.

Mais donnez-moi le lien, je l'étudierai à mon aise.

 
mql5:
Malheureusement, ce n'est pas prévu. Pour l'instant, nous n'envisageons que la possibilité d'hériter de classes à partir de structures.

Et les pointeurs vers les structures seraient très utiles, et vous n'avez pas besoin de les rendre (les structures) dynamiques - l'essentiel est que vous puissiez trier le tableau d'index au lieu des structures elles-mêmes.

// Dans de nombreux cas, il n'est pas souhaitable de remplacer les structures par des classes. Ils sont économiques (pas de tableau virtuel des méthodes) et contiennent des données "solides".

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 
TheXpert:

Oui, il est bien meilleur et plus efficace d'écrire un kilomètre de code enveloppe pour chaque classe d'implémentation.

Mais lancez le lien, je l'étudierai à mon aise.

À propos du wrapper - je suis d'accord, mais le plus souvent il agit aussi comme un frontend ou un adaptateur, c'est-à-dire qu'il modifie l'interface de la classe agrégée.

Je ne peux pas vous donner le lien, il s'agissait d'une discussion interne sur Skype avec une trentaine de personnes intéressées.

 
Vladix:

À propos du wrapper - je suis d'accord, mais le plus souvent, il agit également comme un frontend ou un adaptateur, c'est-à-dire qu'il modifie l'interface de la classe agrégée.

Cela dépend de la façon dont on voit les choses. On pourrait dire que l'agrégation dans ce cas est une béquille, car l'héritage multiple est beaucoup plus transparent et pratique du point de vue de la logique et du codage.

Puis-je vous donner un exemple de la façon dont votre entreprise gère les hiérarchies en losange ?

 
TheXpert:

Cela dépend de la façon dont on voit les choses. On pourrait dire que l'agrégation est une béquille dans ce cas, car l'héritage multiple est beaucoup plus transparent et pratique, tant du point de vue de la logique que du codage.

Pouvez-vous donner un exemple de la façon dont votre entreprise gère les hiérarchies en losange ?

Les hiérarchies sont, si je ne me trompe pas, juste un produit de l'utilisation de l'héritage multiple.

Pouvez-vous citer un exemple concret où vous avez été confronté à la nécessité de construire et de mettre en œuvre des hiérarchies en losange ?

 
Vladix:

Les hiérarchies rhomboïdales sont, si je ne me trompe pas, un simple produit de l'utilisation de l'héritage multiple.

Pouvez-vous citer un exemple dans votre vie où vous avez été confronté à la nécessité de construire et de mettre en œuvre des hiérarchies rhomboïdales ?

Une personne a un bras, une jambe et toutes sortes d'organes, ils sont construits à partir de cellules qui sont construites à partir d'atomes, l'ensemble des atomes est fini mais leurs ensembles sont énormes.

tous les organes ont des fonctions différentes, mais tous ensemble, ils constituent des êtres humains. Les gens sont différents et peuvent avoir des professions différentes, etc.

Ceux que nous avons commencé avec un ensemble dont une cellule est héritée, ceux-là ont convergé en une classe, puis ont divergé à nouveau en organes et ont convergé à nouveau en une classe d'humains, et ont divergé à nouveau en professions.

 
Vladix:

Les hiérarchies sont, si je ne me trompe pas, juste un produit de l'utilisation de l'héritage multiple.

Non, c'est un produit de la conception. Elle ne dépend pas de l'utilisation d'outils linguistiques.

Pouvez-vous donner des exemples concrets de situations où vous avez dû construire et mettre en œuvre des hiérarchies en losange ?

Pas au début, mais je l'ai utilisé plus d'une fois. Et pratiquement sans aucun choix.

Si vous voulez mon avis, écrire des wrappers de béquille est en soi un argument de poids.