Tableaux d’objets
219
En A : nb objets = 0
++ création objet de type Cl
il y en a maintenant 1
En B : nb objets = 1
++ création objet de type Cl
il y en a maintenant 2
++ création objet de type Cl
il y en a maintenant 3
En C : nb objets = 3
Utilisation d’une méthode de classe pour afficher le nombre d’instances d’une classe
Exercice 10.4 Introduire dans une classe Point, comportant les attributs abs et ord, une
méthode de classe permettant de tester la coïncidence de deux points fournis en paramètres.
Exercice 10.5 Même question que dans l’exercice 10.3, en faisant de somme une méthode de
classe, au lieu d’une méthode usuelle.
5.2.3 Autres utilisations des attributs et des méthodes de classe
D’une manière générale, les méthodes et attributs de classe s’avèrent pratiques pour permettre à différents objets d’une classe de disposer d’informations collectives. Nous en avons vu
un exemple ci-dessus avec le comptage d’objets d’une classe. On pourrait également introduire dans une des classes Point déjà rencontrées deux attributs de classe destinés à contenir
les coordonnées d’une origine partagée par tous les points.
Par ailleurs, les méthodes de classe peuvent également fournir des services n’ayant de signification que pour la classe même. Ce serait par exemple le cas d’une méthode fournissant
l’identification d’une classe (nom de classe, numéro d’identification, nom de l’auteur...).
Enfin, on peut utiliser des méthodes de classe pour regrouper au sein d’une classe des fonctionnalités ayant un point commun et n’étant pas liées à un quelconque objet. C’est par exemple ce qui se produit avec les fonctions mathématiques dans certains langages objet ne
disposant pas de la notion de fonction usuelle. Par exemple, la fonction mathématique sinus
pourra se noter Math.sin (méthode de classe sin de la classe Math).
6 Tableaux d’objets
Nous conviendrons qu’il est possible d’utiliser des tableaux d’objets. Une déclaration telle
que :
tableau Point tp [3]
réservera l’emplacement pour un tableau de 3 références sur des objets de type Point.
219
En A : nb objets = 0
++ création objet de type Cl
il y en a maintenant 1
En B : nb objets = 1
++ création objet de type Cl
il y en a maintenant 2
++ création objet de type Cl
il y en a maintenant 3
En C : nb objets = 3
Utilisation d’une méthode de classe pour afficher le nombre d’instances d’une classe
Exercice 10.4 Introduire dans une classe Point, comportant les attributs abs et ord, une
méthode de classe permettant de tester la coïncidence de deux points fournis en paramètres.
Exercice 10.5 Même question que dans l’exercice 10.3, en faisant de somme une méthode de
classe, au lieu d’une méthode usuelle.
5.2.3 Autres utilisations des attributs et des méthodes de classe
D’une manière générale, les méthodes et attributs de classe s’avèrent pratiques pour permettre à différents objets d’une classe de disposer d’informations collectives. Nous en avons vu
un exemple ci-dessus avec le comptage d’objets d’une classe. On pourrait également introduire dans une des classes Point déjà rencontrées deux attributs de classe destinés à contenir
les coordonnées d’une origine partagée par tous les points.
Par ailleurs, les méthodes de classe peuvent également fournir des services n’ayant de signification que pour la classe même. Ce serait par exemple le cas d’une méthode fournissant
l’identification d’une classe (nom de classe, numéro d’identification, nom de l’auteur...).
Enfin, on peut utiliser des méthodes de classe pour regrouper au sein d’une classe des fonctionnalités ayant un point commun et n’étant pas liées à un quelconque objet. C’est par exemple ce qui se produit avec les fonctions mathématiques dans certains langages objet ne
disposant pas de la notion de fonction usuelle. Par exemple, la fonction mathématique sinus
pourra se noter Math.sin (méthode de classe sin de la classe Math).
6 Tableaux d’objets
Nous conviendrons qu’il est possible d’utiliser des tableaux d’objets. Une déclaration telle
que :
tableau Point tp [3]
réservera l’emplacement pour un tableau de 3 références sur des objets de type Point.
