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.

Les interfaces peuvent servirent dans plusieurs cas :

Interface

Abstraction

Représenter la réalité comme étant un objet.

En pratique cela consiste à définir des méthodes 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.

Encapsulation

Introduction à la Programmation Orientée Objet Archive du 10/09/2011 le 26/04/2020

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.A framework for command processing in Java/Swing programs based on the MVC pattern 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.

Héritage

classe – De geek à directeur technique Archive du 10/01/2012 le 26/04/2020

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.

La méthode appelée variera si sa définition est virtuelle ou non.

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.

Agrégation

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 du 05/02/2017 le 26/04/2020