AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Entier { int i; int lit_i(void); void Ecrit_i(int); }; int Entier::lit_i(void)

Slides:



Advertisements
Présentations similaires
Programmation Orienté Objet en C++
Advertisements

Programmation Orienté Objet en C++
Cours n° 7 Standard Template Library II.
C++ 6ème cours Patrick Reuter maître de conférences
1 Quelques précisions sur l'héritage. 2 Signification de super.f() appel à la méthode f() masquée super : désigne l'objet appelant comme s'il était de.
Prénom____________________ Date
TP 7.1 synchronized et join Écrire un programme Java qui crée 1000 threads et maintient un compteur nb du nombre de threads créés jusque-là. Le thread.
Dernière scéance: Des question?????? + Deux exercices.
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.
C.
Programmation Orientée Objet (POO)
Introduction à la POO: Les classes vs les objets
Regrouper des éléments de même type et pouvoir y accéder à laide dun identificateur et dun indice. Objectif des tableaux.
Athapascan-1 Interface C++ de programmation parallèle
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Base de programmation Script unity en c#.
Structures de données IFT-2000
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
8PRO100 Éléments de programmation Les types composés.
Langages orientés objets
Cours 6 Interfaces, classes imbriquées (début). Chapitre IV Interfaces, classes imbriquées, Object.
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 Fonction : surcharge de sélection La surcharge de sélection consiste à implanter plusieurs méthodes de même nom dans une même classe à condition que.
Héritage Lhéritage permet de spécialiser une classe en définissant une relation de type « est une sorte de ». #include comptebancaire.h class CompteEpargne.
C++ : fonctions et opérateurs
Structures de données IFT-2000 Abder Alikacem L’héritage en C++ Département d’informatique et de génie logiciel Édition Septembre 2009.
Programmation Orienté Objet en C++ Ricard julien.
Introduction à la programmation orientée objet
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 3 Polymorphisme I.
Structures des données
2.1 - Historique Chapitre 2 : Introduction au langage C++
Les pointeurs L'opérateur &.
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
La notion de type revisitée en POO
Programmation Orientée Objet
11/04/ L'héritage Cours 7 Cours 7.
Les objets Les classes Pour structurer les variables élémentaires, on peut : juxtaposer des variables de même type, en déclarant un tableau juxtaposer.
7ième Classe (Mardi, 24 novembre) CSI2572. Devoir 3 ?
Argc et argv Utilisation des paramètres de la ligne de commande.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
Cours C++ Fonctions Surcharge d’opérateurs Passage d’arguments
2 – cascade (3001) pingouin main gauche -Nom : -Prénom : -Classe : 1- cascade (3001) pingouin main droite 1 Balle 3 – cascade (300) pingouin main gauche.
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
Réaliser par: Sadok Amel Cheboui hassiba
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les opérateurs L’amitié Les opérateurs Introduction
Les surcharges d'opérateurs
Chapitre III Introduction aux objets et aux classes.
Conception de Programmes - IUT de Paris - 1ère année – Cours 8 – Les entrées/sorties Comment fonctionnent les opérateurs > pour les types élémentaires.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Chapitre VII Techniques plus avancées à travers le concept de classe.
Introduction à la programmation objet avec java
Les objets de la classe de classe. Qu'est-ce que c'est? C'est...
L. Gurret – M. Herve – P. Mignon – J. Prarioz. Introduction  Dernière étape d’analyse  Cahier des charges, spécifications et conception orientée objet.
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
Int 10. Int 6.
Transcription de la présentation:

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Entier { int i; int lit_i(void); void Ecrit_i(int); }; int Entier::lit_i(void) { return i; } void Ecrit_i(int iVal) { i=iVal; } clEntier.h clEntier.cppclEntier.h indispensable

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ structclass en C : juste Donnée en C++: données + Méthode only public en C++: données + Méthode Private ou public 2 possibilitées : public ou private. public: accès total aux données et aux méthodes membres private : accès réservé aux méthodes membres de la class

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Client { private : //pas necessaire char Nom[20], Prenom[25]; int Date, Solde; public : bool Dans_le_Rouge(void) { return (Solde<0); } bool Bon_Client(void) { return (date<1996); } }; int main () { Client Clientelle[100]; //tableau d'objets for (int i=0;1<100;i++) { if(Clientelle[i].Dans_le_Rouge()) cout << "Il est dans le rouge!"; }

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ Le constructeur porte le même nom que la classe. Le destructeur idem sauf qu'il est précéder d'un tilde '~'. class Chaine { char * s; public : Chaine(void); Chaine(int); ~Chaine(void); }; #include "clChaine.h" Chaine::Chaine(void); { s=NULL; } Chaine::Chaine(int Taille) { s=new char[Taille+1]; S=[0]='\Ø'; } Chaine::~Chaine(void) { if(s) delete[] s; } "include "clChaine.h" int main() { Chaine s1; Chaine S2(100); } clChaine.h clChaine.cpppgprinc.cpp Liberation dynamique de tout le contenu du pointeur

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ Ordre a retenir : -Création de l'espace mémoire pour la variable - Appel du constructeur(puis allocation dynamique si nécessaire) - Appel du destructeur(puis libération si nécessaire) - Vidage de la variable dans la pile

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clPhy { //Donnees //Methodes }; clPhy X1; clPhy X2(X1); On fait appel au constructeur par recopie par défaut. Il prend chacune des données de X1 et les recopie dans X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clElt { int L,C,V; clElt *pSuiv; } ClElt X1; clelt X2(X1); X1

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clElt { int L,C,V; clElt *pSuiv; } ClElt X1; clelt X2(X1); L C V X1

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clElt { int L,C,V; clElt *pSuiv; } ClElt X1; clelt X2(X1); L C V X1 X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clElt { int L,C,V; clElt *pSuiv; } ClElt X1; clelt X2(X1); L C V X1 L C V X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clElt { int L,C,V; clElt *pSuiv; } ClElt X1; clelt X2(X1); L C V X1 L C V X2 c'est une recopie en profondeur, pas par défaut

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ clElt (const clElt & X); il s'appelle comme le nom de la classe : en général constructeur par recopie, destructeur et opérateur d'affectation vont ensemble.

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Simple { int X; bool Y; public: }X1; Simple X2(X1); Simple X3; X3=X1; Classe qui ne contient pas de pointeur : dans ce cas, constructeur par recopie, destructeur et opérateur par défaut. x1 y2 X1

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Simple { int X; bool Y; public: }X1; Simple X2(X1); Simple X3; X3=X1; Classe qui ne contient pas de pointeur : dans ce cas, constructeur par recopie, destructeur et opérateur par défaut. x1 y2 X1 x1 y2 X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Simple { int X; bool Y; public: }X1; Simple X2(X1); Simple X3; X3=X1; Classe qui ne contient pas de pointeur : dans ce cas, constructeur par recopie, destructeur et opérateur par défaut. x1 y2 X1 x1 y2 X2 x y X3

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Simple { int X; bool Y; public: }X1; Simple X2(X1); Simple X3; X3=X1; Classe qui ne contient pas de pointeur : dans ce cas, constructeur par recopie, destructeur et opérateur par défaut. x1 y2 X1 x1 y2 X2 x1 y2 X3

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Compose { int X; bool Y; int *p; public: }X1; Simple X2(X1); Simple X3; X3=X1; un pointeur  surcharge d'opérateur x1 y2 p X1

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Compose { int X; bool Y; int *p; public: }X1; Simple X2(X1); Simple X3; X3=X1; un pointeur  surcharge d'opérateur x1 y2 p X1 x y p X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Compose { int X; bool Y; int *p; public: }X1; Simple X2(X1); Simple X3; X3=X1; un pointeur  surcharge d'opérateur x1 y2 p X1 x1 y2 p X2

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Compose { int X; bool Y; int *p; public: }X1; Simple X2(X1); Simple X3; X3=X1; un pointeur  surcharge d'opérateur x1 y2 p X1 x1 y2 p X2 x y p

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Compose { int X; bool Y; int *p; public: }X1; Simple X2(X1); Simple X3; X3=X1; un pointeur  surcharge d'opérateur x1 y2 p X1 x1 y2 p X2 x1 y2 p

AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class clX { int i; public: F(); }A; A.F(); clx::F(); { i=0;//  this->i=0; } this est un pointeur qui pointe vers l'objet en cours. il est constant. il est possible de transformer ce pointeur constant en un pointeur constant sur des données constantes pour chaque fonction membre