PLAN
nes
es
ateurs
ation
mies
2
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Définition
Règles
d’encapsulation
Accesseurs et
Mutateurs
Les fonction
Inlines
Les fonction
Amies
Les classes
Amies
Conclu...
Fonctions_Inline_Amies en C++
Prochain SlideShare
Chargement dans…5
×

Fonctions_Inline_Amies en C++

430 vues

Publié le

Rappel sur les fonctions inline, fonctions amies en C++.

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
430
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
3
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Fonctions_Inline_Amies en C++

  1. 1. PLAN nes es ateurs ation mies 2
  2. 2. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Définition
  3. 3. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Le respect du principe d'encapsulation impose donc que :  Les attributs ne doivent pas être accessibles publiquement : • Garantir la cohérence des données • Fournir des possibilités minimales en terme de modifications  Toute méthode non nécessaire à l'utilisateur doit étre déclarer private  Toute méthode que vous souhaitez rendre disponible à l'utilisateur, et qui définit donc l'interface de la classe est à déclarer public  Les constructeurs et destructeurs doivent toujours être publics ! 1. Règles: 2. Exemple:
  4. 4. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. Règles: 2. Exemple: class point { // déclaration des membres privés private : int x ; int y ; // déclaration des membres publics public : void initialiser (int, int) ; void afficher () ; } ;
  5. 5. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. les accesseurs: 2. Les mutateur: Exemple: Exemple: • récupérer le contenu d'une donnée membre protégée, pour accomplir sa fonction : • doit avoir comme type de retour le type de la variable à renvoyer • ne doit pas nécessairement posséder d'arguments
  6. 6. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. les accesseurs: 2. Les mutateur: Exemple: Exemple: Exemple : class Acc{ private : int age; public : int GetAge(); }; int Acc::GetAge(){ return age; }
  7. 7. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. les accesseurs: 2. Les mutateur: Exemple: Exemple: • Un mutateur est une fonction membre permettant de modifier le contenu d'une donnée membre protégée. • Un mutateur, pour accomplir sa fonction :  Doit avoir comme paramètre la valeur à assigner à la donnée membre. Le paramètre doit donc être du type de la donnée membre  Ne doit pas nécessairement renvoyer de valeur (il possède dans sa plus simple expression le type void  Il est courant des préfixer le nom des accesseurs / mutateurs respectivement par Get / Set. Pour cette raison, on appelle aussi les accesseurs / mutateurs des getter / setter..
  8. 8. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. les accesseurs: 2. Les mutateur: Exemple: Exemple: class Mut{ private : int _age; public : void SetAge(int); }; void Mut::SetAge(int age){ _age = age; }
  9. 9. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. Introduction: 3. Exemple: 2. Définition: 4. utilite: Imaginons les deux fonction suivantes: Le résultat obtenu ressemble à celui qu’aurait produit l’exécution de
  10. 10. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Le mot-clé « inline» utilisé en C++ s'applique à une fonction. Il indique au compilateur que chaque appel à la fonction devra être remplacé par le corps de cette fonction. Il suffit pour cela que, lors de sa définition, le nom de la fonction soit précédé du mot inline. 1. Introduction: 3. Exemple: 2. Définition: 4. utilite:
  11. 11. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 1. Introduction: 3. Exemple: 2. Définition: 4. utilité:
  12. 12. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion l’utilisation des fonctions inlines se fait dans un but d’éfficacité , d’optimisation ; puisqu’il n’y a pas d’appel (réel), donc pas de rupture de séquence, pas de retour etc... Mais il est clair qu’un tel traitement ne peut convenir qu’à des fonctions fréquemment appelées. 1. Introduction: 3. Exemple: 2. Définition: 4. utilite:
  13. 13. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion En principe, l’encapsulation interdit à une fonction membre d’une classe ou toute fonction d’accéder à des données privées d’une autre classe. Mais grâce à la notion d’amitié entre fonctions et classes, il est possible, lors de la définition de cette classe d’y déclarer une ou plusieurs fonctions (extérieurs de la classe) pouvant accéder à ses membres privés. 1. Introduction: 2. Définition: 3. Les différentes situations d’amitié
  14. 14. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Une fonction amie d’une classe C est une fonction qui, sans être membre de cette classe, a le droit d’accéder à tous ses membres, aussi bien publics que privés. 1. Introduction: 2. Définition: 3. Les différentes situations d’amitié
  15. 15. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Class C{ public: friend void maFonction(); } ; void maFonction(){ /* definition de la fonction amie */ } A notez la qualification friend, bien que déclarée à l’intérieur de la classe C, la fonction maFonction() n’est pas membre de cette classe ; en particulier, elle n’est pas attachée à un objet, et le pointeur this n’y est pas définie. 1. Introduction: 2. Définition: 3. Les différentes situations d’amitié
  16. 16. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion 3. Les différentes situations d’amitié Fonction indépendante amie d’une classe Class C{ public: friend void maFonction(); } ; void maFonction(){ /* definition de la fonction amie */ } Syntaxe: 1. Introduction: 2. Définition:
  17. 17. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Fonction membre d’une classe, amie d’une autre classe Class A; Class B { public: void F(A); } ; Class A { private: int nbr; public: friend void B::F(A); } ; void B::F(A a){ /* definition de la fonction amie */ } La fonction membre de la classe B est ami avec la classe A  Il faut déclarer A avant B.  définir B avant A 3. Les différentes situations d’amitié1. Introduction: 2. Définition:
  18. 18. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Fonction indépendante amie de plusieurs classes Class A ; Class B { public: friend void Fonction(A,B); } ; Class A { public: friend void Fonction(A,B); } ; void Fonction (A a,B b ){ /* definition de la fonction amie */ } Syntaxe: 3. Les différentes situations d’amitié1. Introduction: 2. Définition:
  19. 19. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Une classe amie d’une classe C est une classe qui a le droit d’accéder à tous les membres de C. Une telle classe doit être déclarée dans la classe qui accorde le droit d’accès), précédé du mot réservé « friend ». 1. Définition: 2. Syntaxe:
  20. 20. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion Class A; Class B { public: void F1(A); void F1(A); } ; Class A { private: i nt nbr; public: friend class B; } ; void B::F1(A a1){ /* définition de la fonction amie F1*/} void B::F2(A a2){ /* définition de la fonction amie F2*/} 1. Définition: 2. Syntaxe:
  21. 21. Définition Règles d’encapsulation Accesseurs et Mutateurs Les fonction Inlines Les fonction Amies Les classes Amies Conclusion • La relation d’amitié doit être utilisée avec précaution , c’est une entorse à l’ensemble des règles qui régissent les droits d’accès. • La relation d’amitié n’est pas transitive : les amis des amis de la classe A ne sont pas forcément les amis de la classe A • Si la classe A est amie de la classe B ≠ la classe B est amie de la classe A (pas de symétrie). • Les amis de classes imbriquées n’ont pas de droit particulier sur les membres de la classe de niveau supérieur.

×