Envoyé par
ctxnop
Salut,
La POO n'est qu'une vision des choses. La conception donne la vision du développeur. Mais sa vision est fortement dirigée par le langage.
Par exemple, en C, sans POO donc, tu va créer des structures pour agréger des données qui vont ensembles, puis tu va créer tout une panoplie de fonctions pour manipuler ces structures.
Les fonctions auront en paramètre des instances de ces structures et ne pourront donc travailler avec rien d'autre.
Au final, tu te retrouve avec un groupe de fonction travaillant sur un type de structure, tu multiplie ca par le nombre de type de structure que tu vas être amener à créer. Résultat, tu as tout un tas de fonctions hétérogènes, sans aucun liens entre-elles, tout dans le même sac.
Avec la POO tu considère que tout est objet. Et un objet il a des propriétés visibles (genre un stylo il a une couleur, une dimension, etc...), d'autre non visibles (la composition chimique de l'encre par exemple).
Certaines peuvent être changées (certains stylos peuvent avoir une encre rechargeable, ou bien le cas des stylos 4 couleurs), d'autres non (on ne peut pas changer la taille du stylo).
Toutes les fonctionnalités du stylos sont embarquées dans le stylo lui-même.
Ce qui parait logique, si tu part de l'autre coté du monde avec ton stylo, il continuera de fonctionner.
La POO isole donc les objets qui deviennent complètement indépendants et peuvent être réutilisés n'importe où.
Après pour être plus précis ou expliquer d'autres intérêts, il faut rentrer dans des concepts très techniques du genre le polymorphisme. Je m'abstiens donc.
Pour faire simple, toute fonction qui manipule un objet devrait être une méthode de l'objet en question.