Ceci est une ancienne révision du document !
Table des matières
Définitions
Interface
Une interface est un contrat qui définit un ensemble de méthodes. Les classes qui implémenteront cette interface devront au minimum implémenter ces méthodes.
Abstraction
Représenter la réalité comme étant un objet.
En pratique cela consiste à définir des méthodes et des attributs dans une classe. Les méthodes peuvent être déjà implémentées ou alors également laissées abstraites pour forcer le développeur à les implémenter ultérieurement.
Encapsulation
L'encapsulation regroupe toutes les données et les méthodes implémentées pour les exploiter. Les données peuvent être regroupées dans des POJO
/POCO
/… et invisibles, si besoin, de l'extérieur.
Introduction à la Programmation Orientée Objet, Archive
- Partage de données
The tempting and straight forward approach for realizing undo is to store the state information directly in the command objects. In many cases this will expose parts of the internal structure of the model and violate the principle of encapsulation.Source Archive
Héritage
L'héritage permet de spécialiser une classe. Il reprend toutes les caractéristiques d'une classe en redéfinissant ou ajoutant des méthodes et en ajoutant des attributs.
Polymorphisme / redéfinition
Le polymorphisme est donc la capacité du système à choisir la méthode qui correspond au type réel de l'objet en cours.
<note important>La méthode appelée variera si sa définition est virtuelle ou non.</note>
Surcharge
C'est écrire deux fonctions ayant le même nom mais avec une signature différente. Une signature est définie par le type et le nombre d'arguments. Attention : le type de retour d'une méthode ne fait pas parti de la signature.
Composition
Liaison de deux objets ayant le même cycle de vie.
Exemple : une classe homme est composée avec une classe cœur.
Agrégation
Objets pouvant s'intégrer à un autre objet n'ayant pas le même cycle de vie. Il y a une notion de parent/enfant, contenant/contenu.
Exemple : une classe bibliothèque est agrégé avec une classe livre.
Association
Deux objets travaillant ensemble mais n'ayant pas le même cycle de vie ni même de notion de possession.
Exemple : étudiant et professeur. Même s'il existe dans la réalité une notion de hiérarchie, elle n'a rien à voir dans la notion d'association. Un étudiant peut être dissocié d'un professeur et inversement sans que cela ne pose le moindre problème. Difference between Association, Composition and Aggregation in Java, UML and Object Oriented Programming, Archive