# Cour 2 -- Language Orienté Objet avancé (C++) ###### tags `cour` `M1 S1` `cpp` [Somaire](/V1WXmN9oTdauw8pTXPhqrQ)\ [Precedent](Mwwr080yRPatA0yACc37dQ) > [time= 21 sept 2020] [TOC] ## surcharge de fonction :::success **signature**: identificateur + liste des types des args ::: :::success **prototype**: signature + type de retour. ::: ## porté ```cpp= int v; int foo(int v) { v = 3; //local (parametre) ::v = 3; // global return 12; } ``` ```cpp= namespace math { float pi = 3.14 } namespace chimie { char *e = “C5H9NO4“; } using namespace chimie; int main() { float pi_sur_2 = pi / 2; char* acideGlutaminique = e; } ``` ## paradigme objet On pense du code souvent avec la *méthode foctionnel*(différent de la prog fonctionnel) cad la programation structuré: - calquée sur le modèle des machines - des données - des fonctions Ce qui donne des languages comme *C, Pascal, Assembleur* La méthode **objet**: - fonctionne par analogie avec le modèle du problème - mettre en correspondance l'espace des problèmes et l'espace des solutions ## UML ![](https://i.imgur.com/fvYg6lR.png) ### généralisation / spécialisation UML: ![](https://i.imgur.com/ALlibBh.png) La fleche blanche représente en généralisation. Elle va de l'objet spécifique vers la g'énéralisation ### Agrégation / Compositon #### Agrégation - l’agrégation est une relation de nature asymétrique reliant des composants(élément) à un composé(ensemble) - la vie des éléments est **indépendante** de celle de l’agrégat - un élément peut appartenir à **plusieurs** agrégats - elle est repésenter en UML par une fleche avec un **losange blanc** allant du composé vers le composant (avec au bout l'arrité) ++exemple++: un e-mail peut agréger des documents joints ![](https://i.imgur.com/l9zDUZx.png) #### Composition - est une agrégation forte (agrégat de valeurs) - une destruction du composé **entraîne la destruction** des composants - un composant ne peut appartenir qu’à **un seul** composé - elle est repésenter en UML par une fleche avec un **losange noir** allant du composé vers le composant (avec au bout l'arrité) ![](https://i.imgur.com/41XLQlP.png) ++exemple++: les pièces d’une maison, l’UFR d’Informatique de Paris Diderot ## association Il s’agit d’un simple lien établissant l’existence d’une relation sans subordination conceptuelle.\ Elle est représenté en UML par une bouble fleche. ++exemple++: une personne est le frère d’une autre, un individu est le client d’un magasin ![](https://i.imgur.com/GDZ2u2W.png) ### diagramme d’états-transitions - décrit les **changements d’états** d’un objet consécutifs aux interactions faite avec le système - un état est l’union des valeurs stables des attributs entre deux interactions ![Imgur](https://i.imgur.com/oIkfOL2m.png) ### diagramme de séquence - décrit des **interactions entre objets** d’un point de vue temporel - le point important est l’**aspect communication** ![](https://i.imgur.com/vQhFeCA.png) [next]()