Bonjour,
Les mécanismes d'héritage et de polymorphismes sont liées en C++ à la définition de fonctions membres virtuelles. En Python, par exemple (car c'est par là que j'ai commencé) ou en Java, toutes les méthodes sont virtuelles et par conséquent la ligature est toujours dynamique (dynamic binding: le choix du type est effectué à l'exécution).
J'utilise beaucoup l'héritage et le polymorphisme dans la structuration de mon code et, par conséquent, je déclare toutes mes méthodes de classe avec le qualificateur "virtual". En revanche, je ne comprend pas très bien dans quelles situations nous avons intérêt à forcer une ligature statique. Est-ce une question de performance, le choix du type à l'exécution étant une opération trop gourmande en resources? Vos commentaires sur les bonnes pratiques à adopter en la matière sont les bienvenus.
Meilleures salutations
Thierry
Partager