Langage c++

Notification de cookies

Nous utilisons des cookies pour améliorer votre expérience. En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies. Plus d'informations

Classes et objets en C++

Lorsque vous utilisez la programmation orientée objet, votre développement est centré sur la création de classes, qui présentent une manière générale d’organiser les calculs dans un programme, où les objets ne sont que des instances de classes.

L'encapsulation est la caractéristique des classes qui constitue peut-être la partie la plus utile de la programmation orientée objet.

 Remarque ! Le concept de classes est suffisamment important pour que, lors de son développement initial, C++ s'appelait à l'origine C avec classes.

Une classe est un type de données défini par l'utilisateur, qui contient ses propres membres de données et fonctions membres, accessibles et utilisables en créant une instance de cette classe.
Une classe est comme un modèle pour un objet.

Par exemple, considérons la classe de voitures. Il peut y avoir beaucoup de voitures avec des noms et des marques différents, mais elles partagent toutes des propriétés communes; elles auront toutes 4 roues, la limitation de vitesse, le kilométrage, etc. Alors, Voiture est la classe et les roues, les limites de vitesse, le kilométrage sont leurs propriétés.

Définition de classe

Lorsque vous définissez une classe, vous définissez un modèle pour un type de données. Cela ne définit en réalité aucune donnée, mais définit ce que le nom de la classe signifie, c'est-à-dire en quoi un objet de la classe sera composé et quelles opérations peuvent être effectuées sur un tel objet.

Une définition de classe commence par le mot-clé class suivi du nom de la classe; et le corps de la classe, entouré par une paire d'accolades. Une définition de classe doit être suivie d'un point-virgule ou d'une liste de déclarations.

Syntaxe :
                                class nomClasse{
                                    Specificateur_d_acces : // public, private ou protected
                                        type_donnee nomPropriete;
                                        // ... autres propriétés de la classe
                                    
                                        fonction_membre(); // méthode pour accéder au propriétés
                                };
                            
Exemple :

Par exemple, nous avons défini le type de données Voiture en utilisant le mot-clé class comme suit

                                class Voiture{
                                    private:
                                        int NB_roues;
                                        double vitesse;
                                        int kilometrage;
                                    
                                    public:
                                        int Id;
                                        void rouler(){}
                                };
                            

Le mot-clé public détermine les spécificateurs d'accès des membres de la classe. Un membre public peut être accédé de l'extérieur de la classe n'importe où dans la portée de l'objet de classe. Vous pouvez également spécifier les membres d'une classe comme private ou protected que nous discuterons dans le prochain cours.

Définir des objets

Lorsqu'une classe est définie, seule la spécification de l'objet est définie. aucune mémoire ou stockage n'est alloué. Pour utiliser les données et les fonctions d'accès définies dans la classe, vous devez créer des objets.

Syntaxe:
                                nomClasse nom_Objet;
                            
Exemple :

Les instructions suivantes déclarent deux objets de la classe Voiture

                                Voiture v1, v2;
                            

Les deux objets v1 et v2 auront leur propre copie des membres de données.

Accéder aux membres

Les membres publiques des objets d'une classe sont accessibles à l'aide de l'opérateur d'accès direct(.). Essayons l'exemple suivant pour clarifier les choses

Exemple :
                                    #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;
                                        v2.Id = 2;
                                        v1.rouler();
                                        v2.rouler();
                                        return 0;
                                    }
                            
Voiture 1 est en route
Voiture 2 est en route

Il est important de noter qu'il est impossible d'accéder directement aux membres privés et protégés en utilisant l'opérateur d'accès direct aux membres (.). Nous apprendrons plus tard comment accéder aux membres privés et protégés.

Partager ce cours avec tes amis :

Rédigé par M. ESSADDOUKI

Learning a new programming language is an easy thing, but the most difficult thing is how to design efficient algorithms for real-world problems, so don't be a programmer, be a problems solver.

Cours Similaires :