SlideShare ist ein Scribd-Unternehmen logo
1 von 110
[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]

Weitere ähnliche Inhalte

Was ist angesagt?

Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
slimyaich3
 

Was ist angesagt? (20)

Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
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 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++
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Héritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLIHéritage et polymorphisme- Jihen HEDHLI
Héritage et polymorphisme- Jihen HEDHLI
 
Introduction à scala
Introduction à scalaIntroduction à scala
Introduction à scala
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Poo en c++ les relations entre classes
Poo en c++ les relations entre classesPoo en c++ les relations entre classes
Poo en c++ les relations entre classes
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 

Andere mochten auch

Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
L’Université Hassan 1er Settat
 
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
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2
yassine kchiri
 
Claude Levi Strauss
Claude Levi StraussClaude Levi Strauss
Claude Levi Strauss
plehnka
 
Protecting education personnel_french
Protecting education personnel_frenchProtecting education personnel_french
Protecting education personnel_french
Ahmed GALAI
 
Piloto coed hda santa clara
Piloto coed hda santa claraPiloto coed hda santa clara
Piloto coed hda santa clara
Adalberto
 

Andere mochten auch (20)

TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
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)
 
Correction de td poo n2
Correction de td poo n2Correction de td poo n2
Correction de td poo n2
 
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
 

Ähnlich wie programmation orienté objet c++

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
DotNetHub
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
julien pauli
 
Qualité logicielle
Qualité logicielleQualité logicielle
Qualité logicielle
cyrilgandon
 
Visual Studio 2008 Overview
Visual Studio 2008 OverviewVisual Studio 2008 Overview
Visual Studio 2008 Overview
Gregory Renard
 

Ähnlich wie 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
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
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
 

Mehr von 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 joule
coursuniv
 
Influences électrostatiques
Influences électrostatiquesInfluences électrostatiques
Influences électrostatiques
coursuniv
 
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
coursuniv
 
Chapitre 2 potentiel électrostatique
Chapitre 2  potentiel électrostatiqueChapitre 2  potentiel électrostatique
Chapitre 2 potentiel électrostatique
coursuniv
 
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
coursuniv
 
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
coursuniv
 
Chapitre 4 equilibre électrostatique des conducteurs
Chapitre 4   equilibre électrostatique des conducteursChapitre 4   equilibre électrostatique des conducteurs
Chapitre 4 equilibre électrostatique des conducteurs
coursuniv
 
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
coursuniv
 
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
coursuniv
 

Mehr von 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
 

Kürzlich hochgeladen

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Kürzlich hochgeladen (20)

Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 

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.

Hinweis der Redaktion

  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