Object.

Besoin

  1. Augmenter le niveau d'abstraction : rapprocher les concepts du langage de ceux de la conception d'une l'application
  2. (optionellement) Associer aux données les processus qui les manipulent (les regrouper dans le même concept)

Analyse

L'objet est le destinataire d'une action. Un objet est une instanciation d'un modèle (abstraction ou "classe" d'objet).

Un objet est caractérisé par :

  • son état : l'ensemble des données qu'il contient. Dans le cas d'objets mutables, cet état peut éventuellement varier dans le temps, de préférence uniquement suite à l'invocation de ses méthodes (encapsulation).
  • son comportement : Le code d'un objet est donc constitué par l'ensemble des messages auxquels il peut répondre (par un comportement, un éventuel retour), que l'on appelle méthodes d'utilisation de cet objet.

Des caractéristiques possibles d'un l'objet sont :

Conception

L'abstraction d'un objet est représentée par sa classe et son état par un ensemble d'attributs.

Un objet d'une classe donnée est créé par une opération d'instanciation, généralement en exécutant une méthode particuliàre de la classe : un constructeur d'objet (d'instance). Cette opération reserve un espace mémoire permettant de donner les valeurs d'attributs propres à cette instance. Cette place est repérée par une référence sur cet instance.

Les objets d'une même classe peuvent partager des données liées à leur classe (données "statiques")

Notes

  • Les langages permettant de définir de tels objets sont qualifiés de OO.
  • Un objet étant une instanciation d'une classe d'objets, on l'appelle également "instance".

Limitations

  • Généralement le typage est statique, c'est à dire qu'un objet ne peut "muter" vers un autre type (changer de classe) durant l'exécution.

Exemples

Des exemples d'objets sont :

  • instance de classe "Voiture", aux attributs "modèle" = "307", "couleur" = "rouge" et "immatriculation" = "2002 RM 75"
  • instance de classe "Avion", aux attributs "marque" = "Boeing", "modèle" = "747" et "immatriculation" = "GBH-888"
  • instance de classe "Personne" aux attributs "prénom" = "Jérôme" et "nom" = "Beau"
  • instance de classe "Facture" ayant l'attribut "numéro" = "128932"
  • instance de classe "Chose à faire" aux attributs "description" = "chercher du pain" et "horaire" = "avant 19 h"

Voir