Object.
Besoin
- Augmenter le niveau d'abstraction : rapprocher les concepts du langage de ceux de la conception d'une l'application
- (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"