Modéliser en Objet

Objet / Notions fondamentales :

  • Un objet est une entité aux frontières précises qui possède une identité (un nom).
  • Un ensemble d'attributs caractérise l'état de l'objet.
  • Un ensemble d'opérations (méthodes) en définissent le comportement.
  • Un objet est une instance de classe (une occurrence d'un type abstrait).
  • Une classe est un type de données abstrait, caractérisé par des propriétés (attributs et méthodes) communes à des objets et permettant de créer des objets possédant ces propriétés.

Concepts importants de l'approche objet

  • Encapsulation
    • Consiste à masquer les détails d'implémentation d'un objet, en définissant une interface.
    • L'interface est la vue externe d'un objet, elle définit les services accessibles (offerts) aux utilisateurs de l'objet.
    • L'encapsulation facilite l'évolution d'une application car elle stabilise l'utilisation des objets : on peut modifier l'implémentation des attributs d'un objet sans modifier son interface.
    • L'encapsulation garantit l'intégrité des données, car elle permet d'interdire l'accès direct aux attributs des objets (utilisation d'accesseurs).
  • Héritage (et polymorphisme)
    • L'héritage est un mécanisme de transmission des propriétés d'une classe (ses attributs et méthodes) vers une sous-classe.
    • Une classe peut être spécialisée en d'autres classes, afin d'y ajouter des caractéristiques spécifiques ou d'en adapter certaines.
    • Plusieurs classes peuvent être généralisées en une classe qui les factorise, afin de regrouper les caractéristiques communes d'un ensemble de classes.
    • La spécialisation et la généralisation permettent de construire des hiérarchies de classes. L'héritage peut être simple ou multiple.
    • L'héritage évite la duplication et encourage la réutilisation.
    • Le polymorphisme représente la faculté d'une méthode à pouvoir s'appliquer à des objets de classes différentes.
    • Le polymorphisme augmente la généricité du code.
  • Agrégation
  • Il s'agit d'une relation entre deux classes, spécifiant que les objets d'une classe sont des composants de l'autre classe.
  • Une relation d'agrégation permet donc de définir des objets composés d'autres objets.
  • L'agrégation permet d'assembler des objets de base, afin de construire des objets plus complexes.

Source : UML en français


Article extrait du site Loribel.com.
https://loribel.com/java/topics/objet.html