À retenir
- L'objet : il combine des données (attributs) et des fonctionnalités (méthodes).
- La classe : c'est le plan de construction (le moule) qui permet de créer des objets.
- L'héritage : permet de créer une version spécialisée d'un objet existant sans tout réécrire.
Un langage orienté objet (LOO) est une manière de programmer où l'on conçoit le logiciel comme un assemblage de petits composants autonomes appelés objets. Imaginez un jeu vidéo : un personnage est un objet qui possède ses propres caractéristiques (points de vie, nom) et ses propres actions (marcher, sauter), tout cela regroupé dans une même entité plutôt que d'être éparpillé dans le code.
Étymologie
Traduction directe de l'anglais Object-Oriented Programming (OOP). Le concept est apparu dans les années 1960 avec le langage Simula, mais s'est popularisé dans les années 1980 et 1990. L'idée était de rapprocher le code informatique de la manière dont nous percevons les objets réels du monde physique.
Exemples d'usage
- Java : l'un des piliers de l'orienté objet, très utilisé dans les applications d'entreprise et Android.
- Python : un langage polyvalent où absolument tout est traité comme un objet.
- C# : le langage principal de l'écosystème Microsoft et du moteur de jeu Unity.
- C++ : une évolution du langage C qui ajoute les capacités de manipulation d'objets pour plus de performance.
Cas d'usage
On utilise l'orienté objet pour créer des logiciels complexes et évolutifs. C'est le standard pour le développement d'interfaces graphiques (chaque bouton ou fenêtre est un objet), les jeux vidéo (chaque monstre ou obstacle est un objet) et les grandes applications de gestion où les données sont très liées aux règles métier.
Bonnes pratiques
Il est conseillé de respecter le principe de l'encapsulation : un objet ne doit pas laisser n'importe quel autre composant modifier ses données internes sans contrôle. Il faut aussi éviter de créer des objets trop complexes (les "objets dieux") qui font trop de choses à la fois ; il vaut mieux privilégier de petits objets spécialisés qui communiquent entre eux.
Synonymes
Antonymes
Conseil
Pour bien débuter, essayez de modéliser des objets de la vie courante (une voiture, une lampe, un compte bancaire) sous forme de classes. Identifiez ce qu'ils sont (propriétés) et ce qu'ils font (méthodes). Cette gymnastique mentale est plus importante que l'apprentissage de la syntaxe du langage lui-même.
Questions fréquentes
Quelle est la différence entre une classe et un objet ?
La classe est le plan d'architecte (théorique), tandis que l'objet est la maison construite à partir de ce plan (réelle et concrète).
Est-ce que tous les langages modernes sont orientés objet ?
La plupart le sont ou permettent de l'être (langages multi-paradigmes), car cette approche facilite grandement l'organisation du travail en équipe sur de gros projets.