En Programmation Orientée Objet (POO), le développement est centré sur la création de classes. Une classe est un modèle (gabarit) qui décrit à la fois les données (attributs) et les comportements (méthodes) d'une entité du monde réel.
Voiture comme au plan de construction d'une voiture : le plan définit les caractéristiques (nombre de roues, vitesse max…), mais ce n'est pas une voiture réelle. Les objets sont les voitures concrètes fabriquées à partir de ce plan.Définition d'une classe
Une classe se définit avec le mot-clé class, suivi du nom de la classe et de son corps entre accolades. La définition se termine obligatoirement par un point-virgule.
class NomClasse {
spécificateur_accès: // public, private ou protected
type attribut;
// ...
type_retour méthode();
};Exemple — classe Voiture
class Voiture {
private:
int NB_roues;
double vitesse;
int kilometrage;
public:
int Id;
void rouler() {}
};private (protection) et les méthodes dans public (interface accessible). Les spécificateurs d'accès seront détaillés dans le cours suivant.Créer des objets
Définir une classe ne crée aucune donnée en mémoire. Pour utiliser une classe, il faut instancier des objets. Chaque objet possède sa propre copie des données membres.
NomClasse nomObjet;
NomClasse obj1, obj2; // plusieurs objetsExemple
Voiture v1, v2; // v1 et v2 ont chacun leur propre copie de Id, vitesse...Accéder aux membres
On accède aux membres publics d'un objet via l'opérateur point .. Les membres privés et protégés ne sont pas accessibles directement depuis l'extérieur de la classe.
Exemple complet
#include <iostream>
using namespace std;
class Voiture {
private:
int NB_roues;
double vitesse;
int kilometrage;
public:
int Id;
void rouler() {
cout << "Voiture " << Id << " est en route." << endl;
}
};
int main()
{
Voiture v1, v2;
v1.Id = 1; // accès au membre public
v2.Id = 2;
v1.rouler();
v2.rouler();
return 0;
}Voiture 1 est en route. Voiture 2 est en route.
private ou protected avec l'opérateur . depuis l'extérieur de la classe. On passera par des méthodes accesseurs (getters/setters) présentées dans les cours suivants.
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.