Programmation Objet en C++

Concepts de base

Résumé

Découverte de la programmation objet en C++.


Table des matières

Le langage C++
Classes et instances
Opérations d'entrée sortie
L'entrée standard
Compilation d'un fichier source c++
Application
Exercice
Techniques de programmation OO
Constructeur
Allocation dynamique des instances
Appel du constructeur lors de l'instanciation
Accès aux propriétés et méthodes de l'instance
Opérateur free
Encapsulation et niveaux de protection
L'accès aux données
Exercices
Implémentation des méthodes hors interface
POO Mise en oeuvre
Héritage
Exercice sur l'héritage

Le langage C++

Le c++ permet la déclaration de variables n'importe où dans le code et non plus uniquement en début de fonction comme en c.

Le c++ permet la mise en oeuvre de la POO (Programmation Orientée Objet). Il dispose de la notion de classe, d'instance, d'héritage simple ou multiple.

Le c++ fait l'objet d'un standard auquel les compilateurs doivent se conformer.

Le c++ est un langage portable très utilisé.

Le c++ est un descendant du langage c.

Classes et instances

Déclaration et utilisation d'une classe simple et indépendante :

	   #include <string>
	   class tache
	   {
	     public:
	       int no;
	       double duree;
	       string nom;
	       void affiche(){};
	   };

	   void main(void)
	   {
	     tache uneTache;
	     uneTache.no=1;
	     uneTache.duree=2;
	     uneTache.nom="analyse";
	     uneTache.affiche();
	   }
	

Les concepts: Une classe définit un type d'objet. Les instances de la classe sont des exemplaires de la classe. exemple: nous avons 18000 instances de la classe "client" signifie qu'il existe 18000 objets de la classe client donc 18000 clients. Si un paralléle était fait entre une entité et une classe, une classe serait une entité capable de réaliser des actions. Une classe dispose de propriétés et de méthodes: Une classe dispose de propriétés tout comme une entité. Mais elle dispose aussi de méthodes: ensemble d'actions que chaque instance de la classe est capable de réaliser. Dans l'exemple précédent, la classe tache posséde 3 propriétés: no,duree et nom et 1 méthode affiche(). Notre classe tache est instanciée une seule fois dans le main(). l'instance créée s'appelle "uneTache".

Opérations d'entrée sortie

La sortie standard:

   cout >>"bonjour ";
   cout<<"client n°"<<12;
   cout<<"client n°"<<nocli;

Quelques explications : "cout" représente le flux de sortie standard à savoir l'écran. L'information suit le sens des chevrons autrement dit: "bonjour" va dans "cout" donc dans l'écran.

Remarques: On commence toujours par indiquer le flux concerné par l'opération d'entrée sortie. L'instruction "bonjour" > >cout; est fausse. On sépare chaque élément à afficher par les doubles chevrons.

L'entrée standard

   cin >> prenom;
   cin  >> nom  >> prenom;

Quelques explications: "cin" représente le flux d'entrée standard à savoir le clavier. Remarquez le sens de l'information: les informations partent du clavier et vont dans les variables. La saisie se termine lors de la frappe par l'utilisateur de la touche "ENTRÉE" (ENTER).

Compilation d'un fichier source c++

Par convention on donne aux fichiers sources c++ l'extension ".cpp". La compilation peut s'effectuer en une seule passe grâce à la commande:

   g++ nomDuSource -o nomDeLExecutable