SlideShare une entreprise Scribd logo
[object Object],[object Object]
Plan du document ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programmation << classique >> ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Décomposition fonctionnelle ,[object Object],[object Object],[object Object],[object Object],main() init() calcule() trie() affiche() compare() permute() factorise()
Programmation orientée objets ,[object Object],[object Object],[object Object],[object Object],[object Object]
Décomposition fonctionnelle classique main() init() calcule() trie() compare() permute() factorise() Données Données
Décomposition orientée objets init() calcule() trie() compare() permute() factorise() Données Données
Habituellement, un programme c'est une suite d'instructions. L'ordinateur est très bête et il faut tout lui détailler. Exemple programme d’ouverture de porte Tout se passe très bien. Mais qu'est-ce qui se passe par exemple si on met une porte automatique ?  Le programme sera incapable de trouver la poignée et d'ouvrir la porte ! Avantages de la programmation objet Mettre la main sur la poignée de la porte Tourner la poignée Pousser la porte Mettre le doigt sur l'interrupteur Appuyer sur l'interrupteur pour allumer l'ampoule
En programmation objet, on associe aux objets des actions (aussi appellées  méthodes ).  Par exemple, à l'objet  porte  on peut associer la méthode  ouvrir .  De même pour l'ampoule on pourrait associer une méthode  allumer ,  éteindre , etc. Le programme devient plus simple: On a plus besoin de savoir comment la portes'ouvre. On se contente de l'ouvrir. Pour indiquer qu'on applique la méthode (ouvrir) sur l'objet (porte), on note souvent  objet . méthode   (ici : porte.ouvrir). porte.ouvrir ampoule.allumer
Bien sûr il faut détailler ce que fait la méthode  ouvrir  de  porte  et la méthode  allumer  de  lumière . On ne va pas détailler dans le programme ce que fait la méthode ouvrir, mais on va le détailler  dans l'objet lui-même . C'est normal, puisque la méthode ouvrir ne s'applique qu'à la porte, pas à la lumière: porte.ouvrir : Mettre la main sur la poignée Tourner la poignée Pousser la porte
On peut changer la porte en mettant une porte automatique.  On peut aussi l'ouvrir (même si la porte elle-même ne s'ouvre pas de la même façon): Mais votre programme pourra l'ouvrir sans rien changer: Le programme principal : il est inchangé malgré le changement de porte porte.ouvrir : Se placer devant la porte Attendre que la porte soit complètement ouverte porte.ouvrir  ampoule.allumer
La programmation objet a plusieurs intérêts, entre autres: Vous pouvez utiliser des objets sans savoir comment ils sont programmés derrière (c'est le cas notre ouverture de porte). Les objets peuvent être modifiés sans avoir à modifier votre programme (c'est aussi le cas ici).   Les objets sont facilement réutilisables dans de nouveaux programmes. Les langages objets offrent des mécanismes pour permettre ce genre de programmation.
Qu’est-ce qu’un objet ?   + de cours sur  http:// coursuniversite.com /
Objets de la vie courante grosminet titi felix garfield Rêve poursuit poursuit mange parle odie 0605040302 0102030405 0203040506 007BEJ06 45BEJ91 123CDE91 001-DF-YTR java 2 Dupond  Dupont
Les objets coopèrent
Objet boîte noire ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objet logiciel ,[object Object],[object Object],[object Object],Objet =  État  +  Comportement +  Identité État  Service Message =  demande de service unObjet
Téléphone portable État  appeler (personne) appeler (Bob) monTéléphone voirRépertoire() chercher Numero (personne) recevoir msg (msg) appeler (Bob et Paulette)
État d’un objet ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],solde DEBITAUTORISE compte001 : CompteBancaire Identité d’objet attribut variable attribut constant
Comportement d’un objet ,[object Object],[object Object],[object Object],[object Object],compte001: CompteBancaire dupont : Client consulter () consulter() est un service offert par compte001
Les objets communiquent ,[object Object],c1 : CompteBancaire c2 : CompteBancaire créditX : Banque virer(m, c1, c2) retirer (m) déposer (m) dupont : Client
Identité d’un objet ,[object Object],[object Object],[object Object],compte001 :CompteBancaire 1000 1000 compte112 :CompteBancaire
Classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Spécification
Classe CompteBancaire CompteBancaire CompteBancaire solde déposer() retirer() attributs opérations Nom de la classe
Instance ,[object Object],[object Object],CompteBancaire compte001 : CompteBancaire Instance Classe Relation d’instanciation solde : 1000 <<instanciation>>
Constructeur ,[object Object],[object Object],[object Object],[object Object],[object Object],CompteBancaire solde CompteBancaire() déposer() retirer() attributs opérations Nom de la classe Constructeur
Héritage: les concepts   + de cours sur  http:// coursuniversite.com /
Généralisation et spécialisation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ClasseMère ClasseFille Spécialisation Généralisation
Généralisation Constat: des caractéristiques communes calculerIntérêts () créditerIntérêts () changerTaux () déposer () retirer () taux intérêts solde CompteEpargne changerDecouvert () déposer () retirer () montantDécouvAutorisé solde CompteChèque
Généralisation Nota : La sémantique de  retirer   est différente  calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne changerDecouvert () retirer () montantDécouvertAutorisé CompteCheque déposer () retirer() solde CompteBancaire
Spécialisation Un PlanEpargneLogement  est un  CompteEpargne ayant des caractéristiques propres  calculerMontantPrêt() retirer() durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne PlanEpargneLogement
Arborescence d'héritage changerDecouvert () retirer () montantDécouvAutorisé CompteChèque calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne déposer () retirer() solde CompteBancaire calculerMontantPrêt() retirer() durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement
Redéfinition d’une méthode  Sémantique de la méthode  retirer : CompteChèque : retrait autorisé suivant découvert CompteEpargne : pas de découvert autorisé PlanEpargneLogement : pas de retrait calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne calculerMontantPrêt() retirer () durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement déposer () retirer () solde CompteBancaire ChangDecouvert () retirer () montantDécouvertAutorisé CompteChèque
Redéfinition d’une méthode ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Héritage et sous classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Associer les classes : Les concepts   + de cours sur  http:// coursuniversite.com /
Association Une agence gère plusieurs clients. Un client possède un et un seul compte courant. gérer Compte Client Agence posséder
Multiplicités les plus courantes 1 Un et un seul 0..1 Zéro ou un M..N De M à N (entiers naturels) * De zéro à plusieurs 0..* De zéro à plusieurs 1..* D'un à plusieurs gérer * 1 Compte Client Agence posséder 1 1
[object Object],Association simple: une référence comme attribut Client identifiant : entier annéeOuvertureCompte : entier compteCourant : CompteBancaire CompteBancaire
Association multiple : Tableau de références sur des objets unClient:Client uneAgence:Agence nom adresse lesClients * 500 BNP EVRY … 0 500 indice
Une traduction d'associations gérer * 1 Compte lesDépôts  : entier[100] lesRetraits  : entier[100] déposer(...) retirer(...) Client nom : chaîne âge  : entier vieillir() changerNom(...) Agence directeur  : chaîne adresse  : chaîne changerDirecteur(...) ajouterUnClient(...) posséder 1 1 ,[object Object],[object Object],Client nom  : chaîne âge  : entier compte  : Compte vieillir() changerNom(...) Agence directeur : chaîne adresse  : chaîne lesClients  : Clients[500] changerDirecteur(...) ajouterUnClient(...)
[object Object]
Le langage C++ se veut un langage C amélioré. Il possède des fonctionnalités supplémentaires, et notamment * la surcharge de fonctions * le passage par référence * l'emplacement des déclarations * l'allocation dynamique Les apports spécifiques de C++ sont * l'aide à l'abstraction de données: définition de types de données, et de leur implémentation concrète. * l'aide à la programmation objet: hiérarchie de classes et héritage. Meilleur C
Incompatibilités entre C et C++ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Entrées-sorties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
E/S exemple 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Commentaires ,[object Object],[object Object],[object Object],[object Object],[object Object]
Emplacement des déclarations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arguments par référence ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Références Constantes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arguments par défaut ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Surcharge ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Allocation dynamique ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fonctions/Méthodes « en ligne » ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classes et objets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objectifs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Déclaration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Définition ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Utilisation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Encapsulation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
// Fichier main.c #include &quot;point.h&quot; void main() { Point a(1,2), b(3,-5); a.affiche(); b.affiche(); a.deplace(1,1); a.affiche(); } // Fichier point.h class Point { int x, y; public: Point (int, int); void deplace (int, int); void affiche (); }; // Fichier point.c #include <iostream.h> #include &quot;point.h&quot; Point::Point(int a, int b) { x = a; y = b ; }  void Point::deplace (int dx , int dy) { x += dx; y += dy; } void Point::affiche() { cout << &quot;x = &quot; << x <<&quot; , y = &quot;<< y << endl; }
Constructeurs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Destructeur ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple constructeur ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tableaux d'Objets ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construction&Destruction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ou: Id pierre,paul; void main(){}
Une classe de Complexes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Une interface plus complète ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les rationnels ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple de Surcharge d'opérateurs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Donnée membre  statique ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemple de donnée statique ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Copie et affectation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Constructeurs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
constructeur de conversion ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Constructeur de copie ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Affectation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fonctions amies ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Opérateurs amis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Syntaxe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Un Conseil ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Héritage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Objectif ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Avantages: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Composition ou Héritage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],class Carte { DescrHabitant h; int age; float age; };
Syntaxe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Des Exemples ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Accès aux données et méthodes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implantations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Héritage multiple ,[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
Mouna Torjmen
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
Aziz Darouichi
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
Olivier Le Goaër
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
Abdelwahab Naji
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
Aziz Darouichi
 
Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++
Fabio Hernandez
 
Partie 12: Polymorphisme — Programmation orientée objet en C++
Partie 12: Polymorphisme — Programmation orientée objet en C++Partie 12: Polymorphisme — Programmation orientée objet en C++
Partie 12: Polymorphisme — Programmation orientée objet en C++
Fabio Hernandez
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 
Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++
Fabio Hernandez
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
ENSET, Université Hassan II Casablanca
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
Oussama BEN KHIROUN
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
Abdoulaye Dieng
 
Langage C#
Langage C#Langage C#
Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
webreaker
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2yassine kchiri
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi
 
Les listes simplement chaînées en langage C
Les listes simplement chaînées en langage CLes listes simplement chaînées en langage C
Les listes simplement chaînées en langage C
Mohamed Lahby
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
ENSET, Université Hassan II Casablanca
 
Chapitre3 tableauxcpp
Chapitre3 tableauxcppChapitre3 tableauxcpp
Chapitre3 tableauxcpp
Aziz Darouichi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
Idriss22
 

Tendances (20)

POO Java Chapitre 6 Exceptions
POO Java  Chapitre 6 ExceptionsPOO Java  Chapitre 6 Exceptions
POO Java Chapitre 6 Exceptions
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Java cours n° 2 - classe-objet-constructeur
Java   cours n° 2 - classe-objet-constructeurJava   cours n° 2 - classe-objet-constructeur
Java cours n° 2 - classe-objet-constructeur
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++Partie 8: Objets et Classes — Programmation orientée objet en C++
Partie 8: Objets et Classes — Programmation orientée objet en C++
 
Partie 12: Polymorphisme — Programmation orientée objet en C++
Partie 12: Polymorphisme — Programmation orientée objet en C++Partie 12: Polymorphisme — Programmation orientée objet en C++
Partie 12: Polymorphisme — Programmation orientée objet en C++
 
Cours c#
Cours c#Cours c#
Cours c#
 
Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Design patterns - Exemples en Java
Design patterns - Exemples en JavaDesign patterns - Exemples en Java
Design patterns - Exemples en Java
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Langage C#
Langage C#Langage C#
Langage C#
 
Examen sybase - Administration base de donnees
Examen sybase - Administration base de donneesExamen sybase - Administration base de donnees
Examen sybase - Administration base de donnees
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Les listes simplement chaînées en langage C
Les listes simplement chaînées en langage CLes listes simplement chaînées en langage C
Les listes simplement chaînées en langage C
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Chapitre3 tableauxcpp
Chapitre3 tableauxcppChapitre3 tableauxcpp
Chapitre3 tableauxcpp
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 

En vedette

TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
L’Université Hassan 1er Settat
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
L’Université Hassan 1er Settat
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
L’Université Hassan 1er Settat
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
L’Université Hassan 1er Settat
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
L’Université Hassan 1er Settat
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
Maya Medjdoub
 
Analyse et conception des systèmes d’information
Analyse et conception des systèmes d’informationAnalyse et conception des systèmes d’information
Analyse et conception des systèmes d’information
Mireille Blay-Fornarino
 
C Plus Plus demo
C Plus Plus demoC Plus Plus demo
C Plus Plus demo
padnot
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Fred Brunel
 
Introduction à C++
Introduction à C++Introduction à C++
Introduction à C++
Christophe Vaudry
 
Espejos en Aguas Quietas
Espejos en Aguas QuietasEspejos en Aguas Quietas
Espejos en Aguas Quietas
Oscar Ayala
 
Claude Levi Strauss
Claude Levi StraussClaude Levi Strauss
Claude Levi Straussplehnka
 
Protecting education personnel_french
Protecting education personnel_frenchProtecting education personnel_french
Protecting education personnel_frenchAhmed GALAI
 
Butlletí n.11 Acció de Govern
Butlletí n.11 Acció de GovernButlletí n.11 Acció de Govern
Butlletí n.11 Acció de Govern
socialistes_ cat
 
Piloto coed hda santa clara
Piloto coed hda santa claraPiloto coed hda santa clara
Piloto coed hda santa clara
Adalberto
 
El Piano
El PianoEl Piano

En vedette (20)

TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
 
Chapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôleChapitre 03 : Structures de contrôle
Chapitre 03 : Structures de contrôle
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Serie de TD 3 POO
Serie de TD 3 POOSerie de TD 3 POO
Serie de TD 3 POO
 
Analyse et conception des systèmes d’information
Analyse et conception des systèmes d’informationAnalyse et conception des systèmes d’information
Analyse et conception des systèmes d’information
 
C Plus Plus demo
C Plus Plus demoC Plus Plus demo
C Plus Plus demo
 
TD Java POO
TD Java POO TD Java POO
TD Java POO
 
Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)Web-In 2010: Programmation Native iOS (French)
Web-In 2010: Programmation Native iOS (French)
 
Introduction à C++
Introduction à C++Introduction à C++
Introduction à C++
 
Espejos en Aguas Quietas
Espejos en Aguas QuietasEspejos en Aguas Quietas
Espejos en Aguas Quietas
 
Claude Levi Strauss
Claude Levi StraussClaude Levi Strauss
Claude Levi Strauss
 
Protecting education personnel_french
Protecting education personnel_frenchProtecting education personnel_french
Protecting education personnel_french
 
Butlletí n.11 Acció de Govern
Butlletí n.11 Acció de GovernButlletí n.11 Acció de Govern
Butlletí n.11 Acció de Govern
 
Piloto coed hda santa clara
Piloto coed hda santa claraPiloto coed hda santa clara
Piloto coed hda santa clara
 
El Piano
El PianoEl Piano
El Piano
 

Similaire à programmation orienté objet c++

Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptx
SafaeLhr1
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objet
kemenaran
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
louschwartz
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
Microsoft
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
RihabBENLAMINE
 
POO-chapitre3.pptx
POO-chapitre3.pptxPOO-chapitre3.pptx
POO-chapitre3.pptx
ImaneLoukili7
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDotNetHub
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHPjulien pauli
 
POO
POOPOO
Java-2eme partie.pptx
Java-2eme partie.pptxJava-2eme partie.pptx
Java-2eme partie.pptx
HassanAbdel
 
Java- LT informatique
Java-  LT informatiqueJava-  LT informatique
Java- LT informatique
HassanChaaban
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logiciellecyrilgandon
 
generation_code.pdf
generation_code.pdfgeneration_code.pdf
generation_code.pdf
elmustafaayoub
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !
Engineor
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 OverviewGregory Renard
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
Asmaa BENGUEDDACH
 

Similaire à programmation orienté objet c++ (20)

Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptx
 
Formation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objetFormation C# - Cours 3 - Programmation objet
Formation C# - Cours 3 - Programmation objet
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
 
Part1
Part1Part1
Part1
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
 
Les Activités.pdf
Les Activités.pdfLes Activités.pdf
Les Activités.pdf
 
POO-chapitre3.pptx
POO-chapitre3.pptxPOO-chapitre3.pptx
POO-chapitre3.pptx
 
Découvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCLDécouvrez C# 4.0 et les améliorations apportées à la BCL
Découvrez C# 4.0 et les améliorations apportées à la BCL
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
 
POO
POOPOO
POO
 
Java-2eme partie.pptx
Java-2eme partie.pptxJava-2eme partie.pptx
Java-2eme partie.pptx
 
Presentation JPA
Presentation JPAPresentation JPA
Presentation JPA
 
Java- LT informatique
Java-  LT informatiqueJava-  LT informatique
Java- LT informatique
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
 
generation_code.pdf
generation_code.pdfgeneration_code.pdf
generation_code.pdf
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Poo
PooPoo
Poo
 
Manualjquery
ManualjqueryManualjquery
Manualjquery
 

Plus de coursuniv

Algo et c
Algo et cAlgo et c
Algo et c
coursuniv
 
Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joulecoursuniv
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiquescoursuniv
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxcoursuniv
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatiquecoursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électriquecoursuniv
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électriquecoursuniv
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurscoursuniv
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatiquecoursuniv
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gausscoursuniv
 
Analyse numerique
Analyse numeriqueAnalyse numerique
Analyse numerique
coursuniv
 
Excel
ExcelExcel
Excel
coursuniv
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
coursuniv
 
Loi de coulomb
Loi de coulomb Loi de coulomb
Loi de coulomb
coursuniv
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
coursuniv
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
coursuniv
 

Plus de coursuniv (20)

Algo et c
Algo et cAlgo et c
Algo et c
 
Loi d’ohm et loi de joule
Loi d’ohm et loi de jouleLoi d’ohm et loi de joule
Loi d’ohm et loi de joule
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiques
 
Réseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes générauxRéseaux électriques linéaires théorèmes généraux
Réseaux électriques linéaires théorèmes généraux
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Généralité sur le courant électrique
Généralité sur le courant électriqueGénéralité sur le courant électrique
Généralité sur le courant électrique
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurs
 
Chapitre 1 loi de coulomb et champ électrostatique
Chapitre 1  loi de coulomb et champ électrostatiqueChapitre 1  loi de coulomb et champ électrostatique
Chapitre 1 loi de coulomb et champ électrostatique
 
Analyse s1
Analyse s1Analyse s1
Analyse s1
 
Chapitre 3 théorème de gauss
Chapitre 3  théorème de gaussChapitre 3  théorème de gauss
Chapitre 3 théorème de gauss
 
Analyse numerique
Analyse numeriqueAnalyse numerique
Analyse numerique
 
Excel
ExcelExcel
Excel
 
Excel
ExcelExcel
Excel
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
C
CC
C
 
Loi de coulomb
Loi de coulomb Loi de coulomb
Loi de coulomb
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
Architecture 4
Architecture 4Architecture 4
Architecture 4
 

Dernier

Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
IES Turina/Rodrigo/Itaca/Palomeras
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
Moukagni Evrard
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
sewawillis
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
MelDjobo
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Yuma91
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
Txaruka
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Formation
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 

Dernier (13)

Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
Evaluación docentes "Un cielo, dos países: El camino de los descubrimientos"
 
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
SYLLABUS DU COURS  MARKETING DTS 1-2.pdfSYLLABUS DU COURS  MARKETING DTS 1-2.pdf
SYLLABUS DU COURS MARKETING DTS 1-2.pdf
 
Système de gestion des fichiers de amine
Système de gestion des fichiers de amineSystème de gestion des fichiers de amine
Système de gestion des fichiers de amine
 
Mémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et auditMémoire de licence en finance comptabilité et audit
Mémoire de licence en finance comptabilité et audit
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupeCours de conjugaison des verbes du premier, deuxième et troisième groupe
Cours de conjugaison des verbes du premier, deuxième et troisième groupe
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Iris et les hommes.pptx
Iris      et         les      hommes.pptxIris      et         les      hommes.pptx
Iris et les hommes.pptx
 
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
M2i Webinar - « Participation Financière Obligatoire » et CPF : une opportuni...
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 

programmation orienté objet c++

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. Décomposition fonctionnelle classique main() init() calcule() trie() compare() permute() factorise() Données Données
  • 7. Décomposition orientée objets init() calcule() trie() compare() permute() factorise() Données Données
  • 8. Habituellement, un programme c'est une suite d'instructions. L'ordinateur est très bête et il faut tout lui détailler. Exemple programme d’ouverture de porte Tout se passe très bien. Mais qu'est-ce qui se passe par exemple si on met une porte automatique ? Le programme sera incapable de trouver la poignée et d'ouvrir la porte ! Avantages de la programmation objet Mettre la main sur la poignée de la porte Tourner la poignée Pousser la porte Mettre le doigt sur l'interrupteur Appuyer sur l'interrupteur pour allumer l'ampoule
  • 9. En programmation objet, on associe aux objets des actions (aussi appellées méthodes ). Par exemple, à l'objet porte on peut associer la méthode ouvrir . De même pour l'ampoule on pourrait associer une méthode allumer , éteindre , etc. Le programme devient plus simple: On a plus besoin de savoir comment la portes'ouvre. On se contente de l'ouvrir. Pour indiquer qu'on applique la méthode (ouvrir) sur l'objet (porte), on note souvent objet . méthode (ici : porte.ouvrir). porte.ouvrir ampoule.allumer
  • 10. Bien sûr il faut détailler ce que fait la méthode ouvrir de porte et la méthode allumer de lumière . On ne va pas détailler dans le programme ce que fait la méthode ouvrir, mais on va le détailler dans l'objet lui-même . C'est normal, puisque la méthode ouvrir ne s'applique qu'à la porte, pas à la lumière: porte.ouvrir : Mettre la main sur la poignée Tourner la poignée Pousser la porte
  • 11. On peut changer la porte en mettant une porte automatique. On peut aussi l'ouvrir (même si la porte elle-même ne s'ouvre pas de la même façon): Mais votre programme pourra l'ouvrir sans rien changer: Le programme principal : il est inchangé malgré le changement de porte porte.ouvrir : Se placer devant la porte Attendre que la porte soit complètement ouverte porte.ouvrir ampoule.allumer
  • 12. La programmation objet a plusieurs intérêts, entre autres: Vous pouvez utiliser des objets sans savoir comment ils sont programmés derrière (c'est le cas notre ouverture de porte). Les objets peuvent être modifiés sans avoir à modifier votre programme (c'est aussi le cas ici). Les objets sont facilement réutilisables dans de nouveaux programmes. Les langages objets offrent des mécanismes pour permettre ce genre de programmation.
  • 13. Qu’est-ce qu’un objet ? + de cours sur http:// coursuniversite.com /
  • 14. Objets de la vie courante grosminet titi felix garfield Rêve poursuit poursuit mange parle odie 0605040302 0102030405 0203040506 007BEJ06 45BEJ91 123CDE91 001-DF-YTR java 2 Dupond Dupont
  • 16.
  • 17.
  • 18. Téléphone portable État appeler (personne) appeler (Bob) monTéléphone voirRépertoire() chercher Numero (personne) recevoir msg (msg) appeler (Bob et Paulette)
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Classe CompteBancaire CompteBancaire CompteBancaire solde déposer() retirer() attributs opérations Nom de la classe
  • 25.
  • 26.
  • 27. Héritage: les concepts + de cours sur http:// coursuniversite.com /
  • 28.
  • 29. Généralisation Constat: des caractéristiques communes calculerIntérêts () créditerIntérêts () changerTaux () déposer () retirer () taux intérêts solde CompteEpargne changerDecouvert () déposer () retirer () montantDécouvAutorisé solde CompteChèque
  • 30. Généralisation Nota : La sémantique de retirer est différente calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne changerDecouvert () retirer () montantDécouvertAutorisé CompteCheque déposer () retirer() solde CompteBancaire
  • 31. Spécialisation Un PlanEpargneLogement est un CompteEpargne ayant des caractéristiques propres calculerMontantPrêt() retirer() durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne PlanEpargneLogement
  • 32. Arborescence d'héritage changerDecouvert () retirer () montantDécouvAutorisé CompteChèque calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne déposer () retirer() solde CompteBancaire calculerMontantPrêt() retirer() durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement
  • 33. Redéfinition d’une méthode Sémantique de la méthode retirer : CompteChèque : retrait autorisé suivant découvert CompteEpargne : pas de découvert autorisé PlanEpargneLogement : pas de retrait calculerIntérêts () créditerIntérêts () changerTaux () taux intérêts CompteEpargne calculerMontantPrêt() retirer () durée dateDebut périodiciteVersement montantVersement PlanEpargneLogement déposer () retirer () solde CompteBancaire ChangDecouvert () retirer () montantDécouvertAutorisé CompteChèque
  • 34.
  • 35.
  • 36. Associer les classes : Les concepts + de cours sur http:// coursuniversite.com /
  • 37. Association Une agence gère plusieurs clients. Un client possède un et un seul compte courant. gérer Compte Client Agence posséder
  • 38. Multiplicités les plus courantes 1 Un et un seul 0..1 Zéro ou un M..N De M à N (entiers naturels) * De zéro à plusieurs 0..* De zéro à plusieurs 1..* D'un à plusieurs gérer * 1 Compte Client Agence posséder 1 1
  • 39.
  • 40. Association multiple : Tableau de références sur des objets unClient:Client uneAgence:Agence nom adresse lesClients * 500 BNP EVRY … 0 500 indice
  • 41.
  • 42.
  • 43. Le langage C++ se veut un langage C amélioré. Il possède des fonctionnalités supplémentaires, et notamment * la surcharge de fonctions * le passage par référence * l'emplacement des déclarations * l'allocation dynamique Les apports spécifiques de C++ sont * l'aide à l'abstraction de données: définition de types de données, et de leur implémentation concrète. * l'aide à la programmation objet: hiérarchie de classes et héritage. Meilleur C
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67. // Fichier main.c #include &quot;point.h&quot; void main() { Point a(1,2), b(3,-5); a.affiche(); b.affiche(); a.deplace(1,1); a.affiche(); } // Fichier point.h class Point { int x, y; public: Point (int, int); void deplace (int, int); void affiche (); }; // Fichier point.c #include <iostream.h> #include &quot;point.h&quot; Point::Point(int a, int b) { x = a; y = b ; } void Point::deplace (int dx , int dy) { x += dx; y += dy; } void Point::affiche() { cout << &quot;x = &quot; << x <<&quot; , y = &quot;<< y << endl; }
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.

Notes de l'éditeur

  1. On perçoit le monde comme un ensemble d ’objets Un objet possède un nom, unique : identité. Deux jumeaux (Dupont et Dupond) sont 2 personnes distinctes. Identité = les objets peuvent être distingués grâce à leur existence inhérente et non grâce à la description des propriétés qu&apos;ils peuvent avoir. =&gt; Faire pressentir que l ’on abstrait la réalité: On classe les objets par famille en faisant abstraction de quelques différences, de détails non pertinents. On élabore une définition théorique de ce que doit être un objet de cette classe Quand on voit un téléphone, quelle que soit la marque ou le type, on sait qu’on va pouvoir composer un numéro. Faire pressentir la différence entre objet de la vie courante et objet logiciel (on en parle vraiment slide 5) - les objets peuvent interagir entre eux, cf. slide suivant
  2. Objet coopératif Un objet agit sur son environnement On peut interagir avec la plupart des objets télé, téléphone, voiture Contre exemple : livre Chaque objet est capable de rendre un ensemble de services bien définis. On peut faire interagir les objets pour accomplir une tache complexe.
  3. On n’a pas à savoir qu’il y a des bougies de préchauffage ou non (diesel ou non), un carburateur et encore moins la coopération (interne) des ces objets … pour démarrer sa voiture. Idem pour un téléviseur. La télécommande sert à adresser des signaux de changements d’états mais à aucun moment le téléspectateur n’a à ouvrir sa télé pour changer de chaîne.
  4. Exercice conception Unité 1 sur le site web (&amp;quot;Définir les objets d&apos;un système&amp;quot;) Pour une voiture: services : démarrer État : niveaux (batterie, réservoirs) Identité : plaque d&apos;immatriculation La réalisation du service dépend de l&apos;état de l&apos;objet. La voiture démarre si niveau batterie OK
  5. Illustre le transparent précédent. + Les services sont définis précisément. Si on demande un service non défini,il ne peut être réalisé.
  6. Représentation graphique : rectangle avec une première partie pour l’identité d’objet, une deuxième pour attributs (constant ou variable) Conventions d’écritures - l’identité d’un attribut commence par une minuscule - quand on change de mot, majuscule - idem pour attribut variable - constante = tout en majuscule
  7. Pour réaliser un service demandé,un objet peut demander la coopération d&apos;un autre objet en lui envoyant à son tour un message. et ainsi de suite.
  8. Vous pouvez reprendre l&apos;exemple des Dupond et Dupont Exercice Conception sur le web : &amp;quot;Identité d&apos;objet&amp;quot;
  9. Nom du constructeur = nom de la classe