Entre la pensée et l'objet : la classe

ExempleL'ADN et le moule

Osons la comparaison : la classe est à l'objet ce que l'ADN est à l'humain.

La différence, c'est qu'on ne connais pas bien l'ADN, par contre on connaîtra parfaitement la classe puisque c'est nous qui la définissons.

On peut parler aussi de moule. Un moule permet de faire plusieurs objets.

Ce qu'est une classe

Une classe peut donner naissance à plusieurs objets.

Mais que contient une classe ?

Réponse : tout ce qui permettra d'initialiser un objet, ses caractéristiques, ses fonctionnalités (autrement appelées ses comportements).

Un objet a des caractéristiques, appelées attributs.

Un objet peut avoir également des comportements, précisés par des fonctions appelées méthodes ou opérations.

ExempleLa télévision

Si on devait devait décrire un objet télévision, on pourrait définir ses caractéristiques principales telles que :

  • Sa marque

  • Sa technologie (LED, PLASMA, etc.)

  • Sa résolution (HDR, HD, UHD)

  • Sa diagonale d'écran

et pour l'identifier de manière unique :

  • Son numéro de série

On pourrait continuer sa description, définir des comportements de base attendus de toute télévision :

  • S'allumer

  • S'éteindre

  • Changer de chaîne (+, -, N°)

  • Changer le volume (+, -, val)

Notez que les comportements sont identifiés par des verbes à l'infinitif exprimant une action.

Certains comportements nécessitent des paramètres pour accomplir leur but.

Voilà la classe permettant de représenter une télévision :

1
class CTelevision {
2
 private :
3
  string marque;
4
   string techno;
5
  string res;
6
  int diagonale;
7
  string noSerie ;
8
public :
9
  void allumer();
10
  void eteindre();
11
  void changerChaine(int num);
12
   void changerVolume(int val);
13
}; // class CTelevision
Représentation UML d'une classe
Représentation UML d'une classe

Vous distinguez dans cette classe CTelevision 2 parties :

  • La partie private définit tout ce qui sera interne à l'objet, non accessible par les autres objets interagissants. Seuls les méthodes internes à l'objet pourront accéder aux éléments private. En représentation UML, les données private sont représentées par le signe -.

  • La partie public définit tout ce qui sera accessible par les autres objets interagissants. En notation UML, les données public sont représentées par le signe +.

Dans cet exemple, notez que la classe contient des attributs et des méthodes ou opérations.

Vous constatez que seules les opérations sont publiques.

Cela signifie qu'un utilisateur ne peut interagir avec un objet de type CTelevision qu'avec ce qui est défini comme interface publique.