Avantages et inconvénients de la programmation orientée objet

L'idée de base de POO

En POO, les programmes informatiques ont une interaction "d'objets". Un objet a "variables d'instance" et "méthodes". Les variables d'instance enregistrent les valeurs associées à l'objet. Les méthodes sont des fonctions qui impliquent certains aspects de l'objet. Dans un programme de jeu, il peut y avoir un objet appelé "vaisseau spatial", qui a des variables d'instance telles que la quantité de carburant. Une méthode pourrait être la "torpille de feu". Les vaisseaux spatiaux pourraient appartenir à une "classe" d'objets appelée "objets en mouvement". Les astéroïdes appartiennent également à cette classe. L'exécution du programme consiste en des objets qui s'envoient des "messages".

Les avantages du POO

Le premier avantage du concept d’objets est que tout le code ayant un rapport avec un vaisseau spatial se trouve au même endroit. Un autre avantage est que les objets peuvent avoir des attributs inhérents à la classe à laquelle ils appartiennent. Par exemple, un vaisseau spatial et des astéroïdes peuvent tous les deux avoir une position XY car tous les objets appartenant à la classe d'objets en mouvement ont une position XY. L'écriture de codes est plus facile car ils peuvent être conceptualisés comme quelque chose qui arrive à un objet. Un autre avantage est que POO rend les grands programmes plus faciles à gérer. Si toutes les fenêtres appartiennent à une hiérarchie de classes de fenêtres et que tout le code faisant référence à une fenêtre particulière se trouve dans cette fenêtre, toutes les manipulations de fenêtre peuvent être écrites comme un simple transfert de message.

Les inconvénients de la POO

Tous les programmes ne peuvent pas être modélisés avec précision par le modèle objet. Si vous voulez lire des données, les simplifier et les réécrire, vous n'avez pas besoin de définir des classes et des objets. Toutefois, dans certaines langues POO, vous devrez peut-être effectuer cette étape supplémentaire. Un autre inconvénient est que si le langage est forcé dans le concept de programmation orientée objet, certaines des caractéristiques des langages utiles, tels que les "langages fonctionnels", sont perdues. Un autre inconvénient est que le concept qu'un programmeur a de ce qui constitue un objet abstrait peut ne pas coïncider avec la vision d'un autre programmeur. Les objets nécessitent souvent une documentation détaillée.

L'avenir de POO

L'avenir de la programmation orientée objet rencontrera probablement des langages tels que Ruby et Lua, dans lesquels le concept d'objet est construit en langage et n'est pas toujours explicitement contrôlé par le programmeur. Ruby, par exemple, traite tout comme un objet, y compris les chaînes, les nombres, votre programme et le contenu du répertoire dans lequel vous vous trouvez. Vous n'aurez presque jamais à déclarer quelque chose en tant qu'objet. Vous êtes libre d'utiliser le langage que vous voulez: en tant que programmation orientée objet, en tant que langage fonctionnel, en tant que langage procédural ou même de manière à mélanger les modalités.

Des Articles Intéressants