Je programme dans des langages procéduraux depuis un certain temps maintenant, et ma première réaction à un problème est de commencer à le décomposer en tâches à effectuer plutôt que de considérer les différentes entités (objets) qui existent et leurs relations.
J'ai suivi un cours universitaire en POO et je comprends les principes fondamentaux de l'encapsulation, de l'abstraction des données, du polymorphisme, de la modularité et de l'héritage.
J'ai lu /programming/2688910/learning-to-think-in-the-object-oriented-way et /programming/1157847/learning-object-oriented-thinking , et se penchera sur certains des livres mentionnés dans ces réponses.
Je pense que plusieurs de mes projets de taille moyenne à grande bénéficieront d'une utilisation efficace de la POO, mais en tant que novice, je voudrais éviter les erreurs courantes et chronophages.
D'après vos expériences, quels sont ces écueils et quels sont les moyens raisonnables de les contourner? Si vous pouviez expliquer pourquoi ils sont des pièges et comment votre suggestion est efficace pour résoudre le problème, ce serait apprécié.
Je pense à quelque chose comme "Est-il courant d'avoir un bon nombre de méthodes d'observateur et de modificateur et d'utiliser des variables privées ou existe-t-il des techniques pour les consolider / réduire?"
Je ne suis pas inquiet d'utiliser C ++ comme un langage OO pur, s'il y a de bonnes raisons de mélanger les méthodes. (Réminiscence des raisons d'utiliser les GOTO, quoique avec parcimonie.)
Je vous remercie!