Programmation orientée objet et java

download Programmation orientée objet et java

If you can't read please download the document

description

 

Transcript of Programmation orientée objet et java

  • 1. Programmation OrienteObjet et JavaAxel KAMALAK www.axelkamalak.eu

2. La programmation oriente objet? Cest la reprsentation du monde rel 3. La programmation oriente objet? Cest la reprsentation du monde relCest la capacit de regrouper des paramtres dans un ensemble. 4. La programmation oriente objet? Cest la reprsentation du monde relCest la capacit de regrouper des paramtres dans un ensemble. Un ensemble de principe cls quipermettent la mise en place dun logiciel. 5. Quest quune classe ?Cest un modle de quelque chosedabstrait. 6. Quest quune classe ?Cest un modle de quelque chosedabstrait. Cest la dfinition qui permet de crer des objets. 7. Quest quune classe ? 8. Quest quune classe ?Actrice Elle a des attributs 9. Quest quune classe ?ActriceUn prnomUn nomUne date de naissanceUne adresseUn lieu de naissanceElle a des attributs 10. Quest quune classe ?Un prnomUn nomUne date de naissanceUne adresseUn lieu de naissanceElle a des attributs et des mthodes 11. Quest quune classe ?Un prnomMangerUn nom BoireUne date de naissanceParlerUne adresseDormirUn lieu de naissance RougirElle a des attributs et des mthodes 12. Quest quune classe ?Un prnomMangerUn nom BoireUne date de naissanceParlerUne adresseDormirUn lieu de naissance RougirElle a des attributs et des mthodes 13. Quest quune classe ?Un prnomMangerUn nom BoireUne date de naissanceParlerUne adresseDormirUn lieu de naissance RougirCe sont les propritsElle a des attributs et des mthodes 14. Quest quune classe ?Un prnomMangerUn nom BoireUne date de naissanceParlerUne adresseDormirUn lieu de naissance RougirElle a des attributs et des mthodes 15. Quest quune classe ? Un prnomManger Un nom Boire Une date de naissanceParler Une adresseDormir Un lieu de naissance RougirCe sont les actionsquil peut raliser Elle a des attributs et des mthodes 16. Quest quune classe ?public class Fille {private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}On donne le nom de la classe 17. Quest quune classe ?public class Fille {private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;} Ce sont les attributs. 18. Quest quune classe ?public class Fille{private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}On les appelles variables dinstance. 19. Quest quune classe ?public class Fille {private int id ; On les appelles variablesprivate String nom;private String prenom;dinstance.private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}Elles sont communes toutes les instances. 20. Quest quune classe ?public class Fille {private int id ; On les appelles variablesprivate String nom;private String prenom;dinstance.private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;} Elles sont communes toutes les instances. Elles sont accessible uniquement par le biais dun objet. 21. Quest quune classe ?public class Fille{private int id ; Les variables de classeprivate String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;} 22. Quest quune classe ?public class Fille {private int id ; Les variables de classeprivate String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}Une variable de classe est une variable qui est commune toutesLes instances de cette classe. Une variable de ce type peut treaccessible sans avoir passer par une instances de la classe. 23. Quest quun objet?Un objet est linstanciation dune classe. 24. Quest quune classe ?public class Actrice{private int id ; Les variables de classeprivate String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}Une variable de classe est une variable qui est commune toutesLes instances de cette classe. Une variable de ce type peut treaccessible sans avoir passer par une instances de la classe. 25. Quest quune classe ?public class Actrice {private int id ; Les variables de classeprivate String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;}Une variable de classe est une variable qui est commune toutesLes instances de cette classe. Une variable de ce type peut treaccessible sans avoir passer par une instances de la classe. 26. Quest quun objet?Un objet est linstanciation dune classe. 27. Quest quun objet? 28. Quest quun objet?Voici un objet 29. Quest quun objet?Voici un objet instanci partir de la classeActrice. 30. Quest quun objet?Voici un objet instanci partir de la classeActrice. Il dispose de toutes les proprits et mthodesdfinies dans la classe Fille. 31. Quest quun objet?Voici un objet instanci partir de la classeActrice. Il dispose de toutes les proprits et mthodesdfinies dans la classe Fille. 32. Quest quun objet? prnom : Crise 33. Quest quun objet?Voici un autre objet 34. Quest quun objet?Voici un autre objetElle a un prnom : Audrey 35. Quest quun objet? Voici un autreobjetIl a un prnom : Jeanne 36. Quest quun objet?Ce sont tousdes objets obtenu partirdun modle 37. Quest quun objet ?Actrice est un modle (classe) ; 38. Quest quun objet ?Actrice est un modle (classe) ;Tandis que Crise et Audrey sontdes instances (objet). 39. Quest quun objet ?Actrice est un modle (classe) ;Tandis que Crise et Audrey sontdes instances (objet).Ils ont t instancis partir dunmodle (classe). 40. Cration dun objetNom de la classe nomObjet ; Actrice Audrey ; 41. Cration dun objetNom de la classe nomObjet ; Actrice Audrey ; On vient de dclarer un objet de type ActriceQui sappelle Audrey. 42. Cration dun objetNom de la classe nomObjet ; Actrice Audrey ;Il va falloir construire lobjet. 43. Cration dun objetNom de la classe nomObjet ; Actrice Audrey ;Il va falloir construire lobjet. Audrey = new Actrice(); 44. Cration dun objetNom de la classe nomObjet ;Actrice Audrey ; Il va falloir construire lobjet.Audrey = new Actrice(); new permet de construire lobjet. 45. Cration dun objet Actrice Audrey = new Actrice();On peut aussi crer un objet en 1tape. 46. Cration dun objet La notion de constructeurUn constructeur a pour objectif dinitialiser lesattributs de laclasse.Un constructeur a plusieurs caractristiques : 47. Cration dun objet La notion de constructeurUn constructeur a pour objectif dinitialiser lesattributs de laclasse.Un constructeur a plusieurs caractristiques :Il se nomme de la mme manire que laclasse.Il ne dtient pas de valeur de retour.Il nest pas obligatoire davoir un constructeur. 48. Cration dun objet La notion de constructeurUn constructeur a pour objectif dinitialiser lesattributs de laclasse.Un constructeur a plusieurs caractristiques :Il se nomme de la mme manire que laclasse.Il ne dtient pas de valeur de retour.Il nest pas obligatoire davoir un constructeur. 49. Cration dun objet La notion de constructeurUn constructeur a pour objectif dinitialiser lesattributs de laclasse.Un constructeur a plusieurs caractristiques :Il se nomme de la mme manire que laclasse.Il ne dtient pas de valeur de retour.Il nest pas obligatoire davoir un constructeur. 50. La notion de constructeurpublic class Actrice {private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nb Actrice =0 ;Actrice(int id, String nom,String prenom,String dateNaissance,String lieuNaissance){this.id=id;this.nom=nom;this.prenom=prenom;this.dateNaissance=dateNaissance;this.lieudeNaissance=lieuNaissance;this.nb Actrice ++;}} 51. La notion de constructeurpublic class Actrice {private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nb Actrice =0 ;Actrice(int id, String nom,String prenom,String dateNaissance,String lieuNaissance){this.id=id;this.nom=nom;this.prenom=prenom;this.dateNaissance=dateNaissance;this.lieudeNaissance=lieuNaissance;this.nb Actrice ++;}} 52. La notion de constructeurOn dit que le premier argument reupublic class Actrice {private int id ;private String nom; va tre plac dans id.private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nb Actrice =0 ;Actrice(int id, String nom,String prenom,String dateNaissance,String lieuNaissance){this.id=id;this.nom=nom;this.prenom=prenom;this.dateNaissance=dateNaissance;this.lieudeNaissance=lieuNaissance;this.nb Actrice ++;}} 53. La notion de constructeurpublic class Actrice {Ainsi de suite, pour chaque attribut.private int id ;private String nom;private String prenom;private String dateNaissance;private String lieudeNaissance;public static int nb Actrice =0 ;Actrice(int id, String nom,String prenom,String dateNaissance,String lieuNaissance){this.id=id;this.nom=nom;this.prenom=prenom;this.dateNaissance=dateNaissance;this.lieudeNaissance=lieuNaissance;this.nb Actrice ++;}} 54. La notion de constructeurpublic class Actrice {private int id ; this donne le nom de la classeprivate String nom;private String prenom;private String dateNaissance; Ici Fille.Cest--dire, celui-ci .private String lieudeNaissance;public static int nb Actrice =0 ;Actrice(int id, String nom,String prenom,String dateNaissance,String lieuNaissance){this.id=id;this.nom=nom;this.prenom=prenom;this.dateNaissance=dateNaissance;this.lieudeNaissance=lieuNaissance;this.nb Actrice ++;}} 55. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs. 56. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs.Si un constructeur est dfinidans une classe,Il faudra obligatoirement lutiliser. 57. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs.Si un constructeur est dfinidans une classe,Il faudra obligatoirement lutiliser. 58. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs.Si un constructeur est dfinidans une classe,Il faudra obligatoirement lutiliser.Actrice Jeanne = new Actrice() ; 59. La notion de constructeurIl est possible de mettreen place plusieursconstructeurs.Si un constructeur est dfini dans une classe,Il faudra obligatoirement lutiliser. Actrice Jeanne = new Actrice () ;LE COMPILATEUR VA REFUSER DE CREER UN OBJETTYPE Actrice 60. La notion de constructeur Actrice Jeanne = new Actrice () ;LE COMPILATEUR VA REFUSER DE CREER UN OBJET TYPE FILLELa classe Actrice a un constructeur. 61. Lobjet Un objet a trois caractristiques. 62. Lobjet Un objet a trois caractristiques. 63. Lobjet Un objet a trois caractristiques.Le comportement de lobjet 64. Lobjet Un objet a trois caractristiques.Le comportement de lobjetQuelles sont les mthodesque lon peut lui appliquer? 65. Lobjet Un objet a trois caractristiques.Le comportement de lobjet Quelles sont les mthodes que lon peut lui appliquer?Par exemple, un poisson peut-il marcher?Un avion peut-il acheter ? 66. Lobjet Un objet a trois caractristiques.Ltat dun objetQuel est la raction de lobjet lorsquon lui appliqueUne mthode? 67. Lobjet Un objet a trois caractristiques.Ltat dun objetDans un Systme dinformation, chaque commandeest diffrenci par une rfrence unique. 68. Lobjet Un objet a trois caractristiques. Ltat dun objetDans un Systme dinformation, chaque commandeest diffrenci par une rfrence unique.Elle va avoir un tat : En cours dacheminement,envoye , dlivre. 69. Lobjet Un objet a trois caractristiques.Ltat dun objetSi une commande est expdi, peut-on le modifier?Cest--dire, ajouter un article. 70. LobjetChaque objet est unique. Chaque objet a une identit. 71. LobjetChaque objet est unique. 72. LobjetChaque objet est unique.Mme dans le cas de 2 jumeaux 73. LobjetChaque objet est unique.Mme dans le cas de 2 jumeaux 74. LobjetChaque objet est unique.Mme dans le cas de 2 jumeauxIls peuvent avoir le mme prnom, 75. LobjetChaque objet est unique.Mme dans le cas de 2 jumeauxIls peuvent avoir le mme prnom,Le mme nom, la mme adresse. 76. LobjetChaque objet est unique.Mme dans le cas de 2 jumeauxIls peuvent avoir le mme prnom,Le mme nom, la mme adresse.La mme date de naissance,Le mme lieu de naissance. 77. LobjetChaque objet est unique. Mme dans le cas de 2 jumeauxChacun aura une empreinte digitaleDiffrente. 78. LobjetChaque objet est unique. Mme dans le cas de 2 jumeauxChacun aura une empreinte digitaleDiffrente. 79. Lobjet Chaque objet est unique. 80. Les mthodesDans le langage JAVA, une mthode dtient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) {Corps de la mthode } Le nom de la mthode Les arguments La valeur de retour Le corps de la mthode 81. Les mthodesDans le langage JAVA, une mthode dtient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) {Corps de la mthode } Le nom de la mthode Les arguments La valeur de retour Le corps de la mthode 82. Les mthodesDans le langage JAVA, une mthode dtient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) {Corps de la mthode } Le nom de la mthode Les arguments La valeur de retour Le corps de la mthode 83. Les mthodesDans le langage JAVA, une mthode dtient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) {Corps de la mthode } Le nom de la mthode Les arguments La valeur de retour Le corps de la mthode 84. Les mthodesDans le langage JAVA, une mthode dtient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) {Corps de la mthode } Le nom de la mthode Les arguments La valeur de retour Le corps de la mthode 85. Les mthodesLes arguments : ce sont les arguments que lon souhaite passer la mthode. Elles sont obligatoirement spars par une virgule.Le nom de la mthode : Cest le nom que lon attribue la mthode. Pour lappeler, il faudra utiliser ce nom.La valeur de retour : Chaque mthode peut retourner une valeur. Il faudra la spcifier dans le corps de la mthode.Si le type est void, il ne retournera rien.Par contre, si on spcifie un type de retour, il faudra obligatoirement retourner une valeur. Dans le cas contraire, une erreur de compilation sera gnre. 86. Les mthodesLes arguments : ce sont les arguments que lon souhaite passer la mthode. Elles sont obligatoirement spars par une virgule.Le nom de la mthode : Cest le nom que lon attribue la mthode. Pour lappeler, il faudra utiliser ce nom.La valeur de retour : Chaque mthode peut retourner une valeur. Il faudra la spcifier dans le corps de la mthode.Si le type est void, il ne retournera rien.Par contre, si on spcifie un type de retour, il faudra obligatoirement retourner une valeur. Dans le cas contraire, une erreur de compilation sera gnre. 87. Les mthodesLes arguments : ce sont les arguments que lon souhaite passer la mthode. Elles sont obligatoirement spars par unevirgule.Le nom de la mthode : Cest le nom que lon attribue lamthode. Pour lappeler, il faudra utiliser ce nom.La valeur de retour : Chaque mthode peut retourner unevaleur. Il faudra la spcifier dans le corps de la mthode. Si le type est void, il ne retournera rien. Par contre, si on spcifie un type de retour, il faudraobligatoirement retourner une valeur. Dans le cascontraire, une erreur de compilation sera gnre. 88. Les mthodesGetter et SetterLes accesseurs permettent de modifier ou rcuprer les attributsde la classe. Pour des raisons descurit, les attributs doivent tre dclares private. 89. Les mthodesGetter et SetterLes accesseurs permettent de modifier ou rcuprer les attributs de la classe.Pour des raisons de scurit, lesattributs doivent tre dclares private. 90. Les mthodespublic class Actrice {private String nom;public void Setnom(String nom){this.nom=nom;}public String Getnom(){return this.nom;}} 91. Les mthodespublic class Actrice {private String nom;Voil une variable dinstance.public void Setnom(String nom){this.nom=nom;}public String Getnom(){return this.nom;}} 92. Les mthodespublic class Fille{ Voil le setteur.private String nom; Cette mthode va me permettre Daffecter un nom mon fille.public void Setnom(String nom){this.nom=nom;}public String Getnom(){return this.nom;}} 93. Les mthodespublic class Fille { Voil le getteurprivate String nom;Cette mthode va me permettre De rcuprer le nom de mon objet.public void Setnom(String nom){this.nom=nom;}public String Getnom(){return this.nom;}} 94. LencapsulationCest un mcanisme fondamental de laProgrammation Orienteobjet. 95. LencapsulationCest un mcanisme fondamental de laProgrammation Orienteobjet. 96. Lencapsulation Lencapsulation consiste protger les informationscontenues dans un objet. 97. Lencapsulation Lencapsulation consiste protger les informationscontenues dans un objet. 98. Lencapsulation Lencapsulation consiste protger les informationscontenues dans un objet. 99. Lencapsulation Lencapsulation consiste protger les informationscontenues dans un objet. 100. LencapsulationUn utilisateur peut manipulerles donnes laide des mthodes. 101. LencapsulationUn utilisateur peut manipulerles donnes laide des mthodes. 102. LencapsulationUn utilisateur peut manipulerles donnes laide des mthodes. 103. Lencapsulation Il existe 3 niveaux daccs. 104. Lencapsulation Il existe 3 niveaux daccs. Public 105. Lencapsulation Il existe 3 niveaux daccs. Public, Priv, 106. Lencapsulation Il existe 3 niveaux daccs. Public, Priv,Protg 107. Lencapsulation Public 108. Lencapsulation Publicaccessible par tout le monde 109. Lencapsulation Private 110. Lencapsulation PrivateUniquement manipulable par lobjet elle-mme. 111. Lencapsulation PrivateUniquement manipulable par lobjet elle-mme. 112. Lencapsulation Protg manipulable par lobjet elle- mme 113. Lencapsulation Protg manipulable par lobjet elle- mme Et Les enfants. 114. Lencapsulation Protg manipulable par lobjet elle- mme Et Les enfants. 115. Lencapsulation 116. LencapsulationUne Actrice : Elle sappelle Laura 117. LencapsulationUne fille : Elle sappelle LauraDemanderson nomest publique 118. LencapsulationUne fille : Elle sappelle LauraDemanderAccessible parson nom tout le mondeest publique 119. LencapsulationUne fille : Elle sappelle LauraDemander Accessible parson nomtout le mondeest publiqueToute personne qui lesouhaitepeut lui demander son nom 120. LencapsulationLaura peut accepterde sembrasserAvec un hommedont elle est sduite. 121. LencapsulationLaura peut accepterde sembrasserAvec un hommedont elle est sduite. 122. LencapsulationLaura peut accepter de sembrasserAvec un homme dontelle est sduite. Sembrasser EstPrive 123. LencapsulationLaura peut accepterde sembrasserAvec un hommedont elle est sduite.Si un garonsouhaiteembrasser Laura,il faudra quil sduise Laura. 124. LencapsulationLaura peut accepterde sembrasser Sduire est publique.Avec un hommedont elle est sduite. Si un garon souhaite embrasserLaura Il faudra quilsduise Laura. 125. LencapsulationSduire est publique.La mthode Sduireva appeler la mthodeSembrasserqui est priv. 126. LencapsulationQue se passe t-il si un homme embrasseLaura sans lavoir sduite ? 127. LencapsulationQue se passe t-il si un homme embrasseLaura sans lavoir sduite ? 128. LencapsulationQue se passe t-il si unhomme embrasseLaura sans lavoir sduite ?Il va prendre une gifle 129. LencapsulationQue se passe t-ilsi un homme embrasseLaura sans lavoir sduite ? En effet, il ya violation dela rgle dencapsulation. 130. Lencapsulation Que se passe t-il siun homme embrasse Laura sans lavoir sduite ? En effet, il ya violation dela rgle dencapsulation. 131. LencapsulationLaura a aussi des donnes protgs. 132. Lencapsulation Laura a aussi des donnesprotgs.Son argent en banque 133. Lencapsulation Personne dautre ne pourra toucher cette argent.Il n y a que LauraEt ses enfants quipourront lutiliser.Son argent en banque 134. LencapsulationPersonne dautre ne pourra toucher cette argenLaura a aussi des donnesIl n y a que Lauraprotgs.Et ses enfants quiPourront lutiliser. ISon argent en banque 135. Lhritage Cest un concept fondamentalde la programmation orient objet. 136. Lhritage Cest un concept fondamentalde la programmation orient objet. 137. LhritageIl offre la possibilit de rutiliser lescomposants logiciels existants. 138. LhritageIl offre la possibilit de rutiliser lescomposants logiciels existants. Une classe driv(=enfant) pourra utiliser les mthodes et attributs de la classe parent(=super classe). 139. LhritageIl offre la possibilit de rutiliser lescomposants logiciels existants. Une classe driv(=enfant) pourra utiliser les mthodes et attributs de la classe parent(=superclasse) et pourra ajouter ses propres proprits. 140. LhritageIl offre la possibilit de rutiliser lescomposants logiciels existants. Une classe driv(=enfant) pourra utiliser les mthodes et attributs de la classe parent(=superclasse) et pourra ajouter sespropres proprits. 141. Lhritage Une classe enfant peutaccder uniquement au donne publique etprotge. 142. Lhritage Une classe enfant peutaccder uniquement au donne publique etprotge. 143. LhritageCe qui offre la possibilit de ne pasavoir rpartir de 0. 144. Lhritage 145. LhritageIl ny a pas dhritage multiple en Java 146. LhritageUne personne a un nom, un prnom, un numro de ScuritSociale.Un tudiant a un nom, un prnom, un numro de ScuritSociale,et une note.Un professeur a un nom, un prnom, un numro deScurit Sociale, et une matire. 147. LhritageUne personne a un nom, un prnom, un numro de ScuritSociale.Un tudiant a un nom, un prnom, un numro de ScuritSociale,et une note.Un professeur a un nom, un prnom, un numro deScurit Sociale, et une matire.Quels sont les proprits communes au 3 ? 148. LhritageUne personne a un nom, un prnom, un numro deScurit Sociale.Un tudiant a un nom, un prnom, un numro de ScuritSociale, et une note.Un professeur a un nom, un prnom, un numro deScurit Sociale, et une matire.Quels sont les proprits communes au 3 ? 149. LhritageOn peut centraliser le nom, le prnom, le numro de Scurit Sociale au sein dune classe Personne. La classe Professeur et La classe Etudiant pourront les utiliser par le biais de lhritage. 150. Lhritage Un professeur est une personne.Un tudiant est une personne. 151. Lhritage Un professeur est une personne.Un tudiant est une personne. Il sagit de la relation est un 152. Lhritage Un professeur est une personne.Un tudiant est une personne. Il sagit de la relation est un 153. Lhritage Sans hritage, on aurait PersonneEtudiant Professeur #name : String -name : String -name : String #-prenom# String:-prenom# String: #prenom : String -numSS :String -numSS :String #numSS :String -note : int- Matiere :String+getName():String+getName():String+getName():String++setName(String n): String +setName(String n): String +setName(String n): String+getprenom():String+ +getprenom():String++getprenom():String+setprenom(String n): String +setprenom(String n): String +setprenom(String n): String+setNum(int n) : void+setNum(int n) : void+setNum(int n) : void+getNum():int+getNum():int+getNum():int+getPersonne(): void +getNote):intsetMatiere(String n) : void+setPersonne(String f,String +setNote(int n):void +getMatiere):Stringn, int s)+getEtudiant(): void +getProfesseur(): void +setEtudiant(String f,String +setProfesseur(String n, int s,int n)f,String n, String m) 154. Lhritage Sans hritage, on aurait PersonneEtudiant Professeur #name : String -name : String -name : StringQuels sont les proprits et # #prenom : String #numSS :String-prenom# String:-numSS :String-note : int -prenom# String: -numSS :String - Matiere :Stringmthodes identiques?+getName():String++setName(String n): String+getprenom():String+setprenom(String n): String +getName():String +setName(String n): String + +getprenom():String +setprenom(String n): String+getName():String+setName(String n): String++getprenom():String+setprenom(String n): String+setNum(int n) : void+setNum(int n) : void+setNum(int n) : void+getNum():int+getNum():int+getNum():int+getPersonne(): void +getNote):intsetMatiere(String n) : void+setPersonne(String f,String +setNote(int n):void +getMatiere):Stringn, int s)+getEtudiant(): void +getProfesseur(): void +setEtudiant(String f,String +setProfesseur(String n, int s,int n)f,String n, String m) 155. Lhritage Sans hritage, on aurait PersonneEtudiant Professeur #name : String -name : String -name : String #-prenom# String:-prenom# String: #prenom : String -numSS :String -numSS :String #numSS :String -note : int- Matiere :String+getName():String+getName():String+getName():String++setName(String n): String +setName(String n): String +setName(String n): String+getprenom():String+ +getprenom():String++getprenom():String+setprenom(String n): String +setprenom(String n): String +setprenom(String n): String+setNum(int n) : void+setNum(int n) : void+setNum(int n) : void+getNum():int+getNum():int+getNum():int+getPersonne(): void +getNote):intsetMatiere(String n) : void+setPersonne(String f,String +setNote(int n):void +getMatiere):Stringn, int s)+getEtudiant(): void +getProfesseur(): void +setEtudiant(String f,String +setProfesseur(String n, int s,int n)f,String n, String m) 156. Lhritage Avec hritage, on aurait 157. LhritageAvec hritage, on auraitNest-il pas plus simpleDimplmenter ce modle? 158. Lhritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {} 159. Lhritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {} 160. Lhritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}Le mot cl extends indique au compilateurque la classe Etudiant hritede la classe Personne. 161. Lhritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}Le mot cl extends indique au compilateurque la classe Etudiant hritede la classe Personne. 162. Le polymorphismeLe polymorphisme est un concept fondamental de la programmation oriente objet. 163. Le polymorphismeLe polymorphisme est un concept fondamental de la programmation oriente objet. Dans la langue grec, il signifie peutprendre plusieurs formes 164. Le polymorphismeLe polymorphisme est un concept fondamental de la programmation oriente objet. Dans la langue grec, il signifie peut prendre plusieurs formes 165. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres. 166. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres. 167. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres. 168. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres. 169. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres.Le choix de la mthode se feraautomatiquement en fonction desparamtres reus. 170. Le polymorphismeLe polymorphisme offre la possibilit dedfinir plusieurs mthodes portant le mme nom mais possdant diffrentsparamtres. Le choix de la mthode se feraautomatiquement en fonction desparamtres reus. 171. Le polymorphismePrenons lexemple dun chien quune personne essaye dapprocher.Chaque chien a une manire diffrente pour accueillir les inconnus.Et cela dpend bien videmment de la manire dont vous lapprochez. 172. Le polymorphismeSi vous lui jetez une pierre.Sa mthode accueillir va recevoir en argument une pierre.Voil comment il va ragir. 173. Le polymorphismeSi vous lui jetez une pierre.Sa mthode accueillir va recevoir en argument une pierre.Voil comment il va ragir. 174. Le polymorphismeSi vous lui donner manger.Sa mthode accueillir va recevoir en argument de la nourriture.Voil comment il va ragir. 175. Le polymorphismeSi vous lui donner manger.Sa mthode accueillir va recevoir en argument de la nourriture.Voil comment il va ragir. 176. Le polymorphismeNous venons de voir que le mme objet Chien pouvaitavoirdes comportements diffrents. La mme mthodeaccueillir vaavoir un comportement diffrent en fonction desparamtres reus. 177. Le polymorphismeNous venons de voir que le mme objet Chien pouvaitavoirdes comportements diffrents. La mme mthodeaccueillir vaavoir un comportement diffrent en fonction desparamtres reus. 178. Classe AbstraiteUne classe abstraite est une classedont limplmentation nest pas complte. 179. Classe Abstraite Une classe abstraite est une classedontlimplmentation nest pas complte.Elle va servir de modle pour les classes enfants. 180. Classe AbstraiteUne classe abstraite est une classedont limplmentation nest pas complte.Elle va servir de modle pour les classes enfants. 181. Classe AbstraiteUne classe abstraite est une classedont limplmentation nest pas complte.Elle va servir de modle pour les classes enfants.La classe abstraite va dfinir des mthodes en fournissant leur signature. 182. Classe AbstraiteUne classe abstraite est une classedont limplmentation nest pas complte.Elle va servir de modle pour les classes enfants.La classe abstraite va dfinir des mthodes en fournissant leur signature. 183. Classe AbstraiteLe type de retour 184. Classe AbstraiteLe type de retourLe nom 185. Classe AbstraiteLe type de retourLe nomLe type dargument 186. Classe AbstraiteLe type de retourLe nomLe type dargumentCest une assurance pour la classe de baseles classes enfants respecteront bien lesSpcifications. 187. Classe AbstraiteLe type de retourLe nomLe type dargumentCest une assurance pour la classede base queles classes enfants respecteront bien lesSpcifications dfinie 188. Classe abstraiteUne classe est dite abstraite si et seulement si elle dtient une ouplusieurs mthodes abstraites. 189. Classe abstraite Il nest pas possible dinstancier une classe abstraite. 190. Classe abstraite Il nest pas possible dinstancier une classe abstraite. 191. Classe abstraitePar exemple, un animal domestique. 192. Classe abstraitePar exemple, un animal domestique.On sait quil aura obligatoirementUne mthode parler.Tous les animaux domestiques parlentmais chacune a sa manire. 193. Classe abstraitePar exemple, un animal domestique.Les oiseaux vont dire : Cik Cik Cik 194. Classe abstraitePar exemple, un animal domestique.Le chat va dire : Miaou Miaou 195. Classe abstraitePar exemple, un animal domestique.Le chien va dire : Hav Hav Hav 196. Classe abstraiteSi lon dfinie une classe abstraite Animal Domestique, on va y placerLa mthode abstraite parler . Ainsi chaque classe enfant va implmenter la mthode parler sa manire. 197. Classe abstraitePar exemple, un animal domestique.Ainsi, la classe Chien va dire :Hav Hav Hav 198. Classe abstraitePar exemple, un animal domestique.Ainsi, la classe Oiseau va dire :Cik Cik Cik 199. Les classes Interfaces Nous avons vu auparavant que lhritage multiple nexiste pas enJava.Nous avons vu que les classes abstraites ne dfinissent que lasignature des mthodes. 200. Les classes InterfacesNous avons vu auparavant quelhritage multiple nexiste pas en Java. Nous avons vu que les classes abstraites ne dfinissent que lasignature des mthodes. 201. Les classes Interfaces Une classe interface va aussi dfinirsimplement les signatures desmthodes pour les classes enfants. 202. Les classes Interfaces Une classe interface va aussi dfinirsimplement les signatures desmthodes pour les classes enfants. 203. Les classes Interfaces Une classe interface va aussi dfinirsimplement les signatures desmthodes pour les classes enfants.Mais celui-ci est plus riche quune classe abstraite. Savez vous pourquoi? 204. Les classes Interfaces Une classe interface va aussi dfinirsimplement les signatures desmthodes pour les classes enfants.Mais celui-ci est plus riche quune classe abstraite. Savez vous pourquoi? 205. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. 206. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. Mais une classe peut implmenterplusieurs classes interfaces. 207. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. Mais une classe peut implmenterplusieurs classes interfaces. 208. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. Mais une classe peut implmenterplusieurs classes interfaces. Une classe peut hriter une classe C1 et implmenter une ou plusieursclasses interfaces I1,I2,I3,I4,. 209. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. Mais une classe peut implmenterplusieurs classes interfaces. Une classe peut hriter une classe C1 et implmenter une ou plusieursclasses interfaces I1,I2,I3,I4,. 210. Les classes Interfaces Il est possible dhriter dune seuleclasse car lhritage multiplenexiste pas en Java. Mais une classe peut implmenterplusieurs classes interfaces. Une classe peut hriter une classe C1 et implmenter une ou plusieursclasses interfaces I1,I2,I3,I4,. 211. Les classes Interfaces Mickael JacksonEst un danseur Est un chanteur 212. Les classes Interfaces Mickael Jackson Un chanteur nest pas Un danseur 213. Les classes Interfaces Mickael Jackson Un chanteur nest pas Un danseur Un danseur nest pas Un chanteur 214. Les classes InterfacesComment faire ?Une classe ne peut hriter dune seule classe.Voil, les classes interfaces vont nous aider. 215. Les classes Interfaces On va faire appel deux classes interfaces. Danseur Et Chanteur 216. Les classes Interfaces On va faire appel deux classes interfaces. Danseur Et ChanteurMickael Jackson va implmenter ces 2interfaces.