Entre la pensée et l'objet : la classe
Exemple : L'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.
Exemple : La 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 :
class CTelevision {
private :
string marque;
string techno;
string res;
int diagonale;
string noSerie ;
public :
void allumer();
void eteindre();
void changerChaine(int num);
void changerVolume(int val);
}; // class CTelevision

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émentsprivate
. En représentation UML, les donnéesprivate
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éespublic
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.