Ici on touche à une grande question quand on va programmer quelque chose. Quelle approche programmatique on va faire.
Une approche procédurale (style C), une approche objet (style Java parce que j'aime mieux que le C++
)?
L'avantage de l'objet comme l'a montré rapidemment Arobasseb est qu'il permet un niveau d'abstraction meilleur que de la programmation procédurale (qui elle permet une meilleur abstracton que la programmation séquentielle par exemple). La grande puissance de l'orienté objet reste le polymorphisme et l'héritage qui permettent de gérer des objets de façon générique sans connaître à l'avance leur type précis, en fait on utilise une sorte de "super" objet qui est plus général et qui permet de faire toutes les opérations de la même facon (dur à expliquer mais facile à comprendre sur un exemple simple).
la proposition d'Arobasseb ne porte pas sur du polymorphisme mais juste sur le fait qu'une classe (un objet) permet de stocker des informations propres à lui même tout en ayant des méthodes qui reste identiques pour tous les objets du même type. Par exemple on créé un objet Articulation qui stocke le min et max en rotation, et on peut faire une méthode qui vérifie que l'on ne dépasse pas ces bornes. Après i suffit d'instancier dans le programme un objet par articulation, de mettre les min max pour chacun et on porra appeler la méthode sur chaque pour savoir si on sort des bornes de cette articulation.
La programmation objet permet aussi souvent d'avoir un code beaucoup plus lisible que le procédural.
En revanche plus on monte dans l'abstraction, plus les performances se dégradent (c'est plus ou moins marqué, ça dépend aussi des compilateurs). Quand je dis performances ça peut être la vitesse comme la consommation de RAM.