Programmation orientée objet et java

  • 1,335 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,335
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
115
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Programmation OrientéeObjet et JavaAxel KAMALAK www.axelkamalak.eu
  • 2. La programmation orientée objet? C’est la représentation du monde réel
  • 3. La programmation orientée objet? C’est la représentation du monde réel C’est la capacité de regrouper des paramètres dans un ensemble.
  • 4. La programmation orientée objet? C’est la représentation du monde réel C’est la capacité de regrouper des paramètres dans un ensemble. Un ensemble de principe clés qui permettent la mise en place d’un logiciel.
  • 5. Qu’est qu’une classe ? C’est un modèle de quelque chose d’abstrait.
  • 6. Qu’est qu’une classe ? C’est un modèle de quelque chose d’abstrait. C’est la définition qui permet de créer des objets.
  • 7. Qu’est qu’une classe ?
  • 8. Qu’est qu’une classe ?Actrice Elle a des attributs
  • 9. Qu’est qu’une classe ?ActriceUn prénomUn nomUne date de naissanceUne adresseUn lieu de naissanceElle a des attributs
  • 10. Qu’est qu’une classe ?Un prénomUn nomUne date de naissanceUne adresseUn lieu de naissanceElle a des attributs et des méthodes
  • 11. Qu’est qu’une classe ?Un prénom MangerUn nom BoireUne date de naissance ParlerUne adresse DormirUn lieu de naissance RougirElle a des attributs et des méthodes
  • 12. Qu’est qu’une classe ?Un prénom MangerUn nom BoireUne date de naissance ParlerUne adresse DormirUn lieu de naissance RougirElle a des attributs et des méthodes
  • 13. Qu’est qu’une classe ?Un prénom MangerUn nom BoireUne date de naissance ParlerUne adresse DormirUn lieu de naissance Rougir Ce sont les propriétésElle a des attributs et des méthodes
  • 14. Qu’est qu’une classe ?Un prénom MangerUn nom BoireUne date de naissance ParlerUne adresse DormirUn lieu de naissance RougirElle a des attributs et des méthodes
  • 15. Qu’est qu’une classe ? Un prénom Manger Un nom Boire Une date de naissance Parler Une adresse Dormir Un lieu de naissance RougirCe sont les actionsqu’il peut réaliser Elle a des attributs et des méthodes
  • 16. Qu’est qu’une 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. Qu’est qu’une 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. Qu’est qu’une 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 d’instance.
  • 19. Qu’est qu’une classe ?public class Fille {private int id ; On les appelles variablesprivate String nom;private String prenom; d’instance.private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;} Elles sont communes à toutes les instances.
  • 20. Qu’est qu’une classe ?public class Fille {private int id ; On les appelles variablesprivate String nom;private String prenom; d’instance.private String dateNaissance;private String lieudeNaissance;public static int nbFille =0 ;} Elles sont communes à toutes les instances. Elles sont accessible uniquement par le biais d’un objet.
  • 21. Qu’est qu’une 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. Qu’est qu’une 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 à toutes Les instances de cette classe. Une variable de ce type peut être accessible sans avoir à passer par une instances de la classe.
  • 23. Qu’est qu’un objet?Un objet est l’instanciation d’une classe.
  • 24. Qu’est qu’une 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. Qu’est qu’une 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. Qu’est qu’un objet?Un objet est l’instanciation d’une classe.
  • 27. Qu’est qu’un objet?
  • 28. Qu’est qu’un objet?Voici un objet
  • 29. Qu’est qu’un objet?Voici un objet instanciéà partir de la classeActrice.
  • 30. Qu’est qu’un objet?Voici un objet instanciéà partir de la classeActrice. Il dispose de toutes les propriétés et méthodes définies dans la classe Fille.
  • 31. Qu’est qu’un objet?Voici un objet instanciéà partir de la classeActrice. Il dispose de toutes les propriétés et méthodes définies dans la classe Fille.
  • 32. Qu’est qu’un objet? prénom : Cérise
  • 33. Qu’est qu’un objet?Voici un autre objet
  • 34. Qu’est qu’un objet?Voici un autre objet Elle a un prénom : Audrey
  • 35. Qu’est qu’un objet? Voici un autre objetIl a un prénom : Jeanne
  • 36. Qu’est qu’un objet?Ce sont tousdes objets obtenu à partir d’un modèle
  • 37. Qu’est qu’un objet ?Actrice est un modèle (classe) ;
  • 38. Qu’est qu’un objet ?Actrice est un modèle (classe) ;Tandis que Cérise et Audrey sontdes instances (objet).
  • 39. Qu’est qu’un objet ?Actrice est un modèle (classe) ;Tandis que Cérise et Audrey sontdes instances (objet).Ils ont été instanciés à partir d’unmodèle (classe).
  • 40. Création d’un objet Nom de la classe nomObjet ; Actrice Audrey ;
  • 41. Création d’un objet Nom de la classe nomObjet ; Actrice Audrey ; On vient de déclarer un objet de type Actrice Qui s’appelle Audrey.
  • 42. Création d’un objet Nom de la classe nomObjet ; Actrice Audrey ; Il va falloir construire l’objet.
  • 43. Création d’un objet Nom de la classe nomObjet ; Actrice Audrey ; Il va falloir construire l’objet. Audrey = new Actrice();
  • 44. Création d’un objet Nom de la classe nomObjet ; Actrice Audrey ; Il va falloir construire l’objet. Audrey = new Actrice(); new permet de construire l’objet.
  • 45. Création d’un objet Actrice Audrey = new Actrice(); On peut aussi créer un objet en 1 étape.
  • 46. Création d’un objet La notion de constructeurUn constructeur a pour objectif d’initialiser les attributs de laclasse.Un constructeur a plusieurs caractéristiques :
  • 47. Création d’un objet La notion de constructeurUn constructeur a pour objectif d’initialiser les attributs de laclasse.Un constructeur a plusieurs caractéristiques : Il se nomme de la même manière que la classe. Il ne détient pas de valeur de retour. Il n’est pas obligatoire d’avoir un constructeur.
  • 48. Création d’un objet La notion de constructeurUn constructeur a pour objectif d’initialiser les attributs de laclasse.Un constructeur a plusieurs caractéristiques : Il se nomme de la même manière que la classe. Il ne détient pas de valeur de retour. Il n’est pas obligatoire d’avoir un constructeur.
  • 49. Création d’un objet La notion de constructeurUn constructeur a pour objectif d’initialiser les attributs de laclasse.Un constructeur a plusieurs caractéristiques : Il se nomme de la même manière que la classe. Il ne détient pas de valeur de retour. Il n’est pas obligatoire d’avoir 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 constructeur On dit que le premier argument reçupublic 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. C’est-à-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 défini dans une classe,Il faudra obligatoirement l’utiliser.
  • 57. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs. Si un constructeur est défini dans une classe,Il faudra obligatoirement l’utiliser.
  • 58. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs. Si un constructeur est défini dans une classe,Il faudra obligatoirement l’utiliser.Actrice Jeanne = new Actrice() ;
  • 59. La notion de constructeur Il est possible de mettre en place plusieurs constructeurs. Si un constructeur est défini dans une classe,Il faudra obligatoirement l’utiliser. Actrice Jeanne = new Actrice () ;LE COMPILATEUR VA REFUSER DE CREER UN OBJET TYPE Actrice
  • 60. La notion de constructeur Actrice Jeanne = new Actrice () ;LE COMPILATEUR VA REFUSER DE CREER UN OBJET TYPE FILLE La classe Actrice a un constructeur.
  • 61. L’objet Un objet a trois caractéristiques.
  • 62. L’objet Un objet a trois caractéristiques.
  • 63. L’objet Un objet a trois caractéristiques. Le comportement de l’objet
  • 64. L’objet Un objet a trois caractéristiques. Le comportement de l’objet Quelles sont les méthodes que l’on peut lui appliquer?
  • 65. L’objet Un objet a trois caractéristiques. Le comportement de l’objet Quelles sont les méthodes que l’on peut lui appliquer? Par exemple, un poisson peut-il marcher? Un avion peut-il acheter ?
  • 66. L’objet Un objet a trois caractéristiques. L’état d’un objet Quel est la réaction de l’objet lorsqu’on lui applique Une méthode?
  • 67. L’objet Un objet a trois caractéristiques. L’état d’un objet Dans un Système d’information, chaque commande est différencié par une référence unique.
  • 68. L’objet Un objet a trois caractéristiques. L’état d’un objet Dans un Système d’information, chaque commande est différencié par une référence unique. Elle va avoir un état : En cours d’acheminement, envoyée , délivrée.
  • 69. L’objet Un objet a trois caractéristiques. L’état d’un objet Si une commande est expédié, peut-on le modifier? C’est-à-dire, ajouter un article.
  • 70. L’objet Chaque objet est unique. Chaque objet a une identité.
  • 71. L’objet Chaque objet est unique.
  • 72. L’objet Chaque objet est unique.Même dans le cas de 2 jumeaux
  • 73. L’objet Chaque objet est unique.Même dans le cas de 2 jumeaux
  • 74. L’objet Chaque objet est unique.Même dans le cas de 2 jumeauxIls peuvent avoir le même prénom,
  • 75. L’objet Chaque objet est unique.Même dans le cas de 2 jumeauxIls peuvent avoir le même prénom,Le même nom, la même adresse.
  • 76. L’objet Chaque objet est unique.Même dans le cas de 2 jumeauxIls peuvent avoir le même prénom,Le même nom, la même adresse.La même date de naissance,Le même lieu de naissance.
  • 77. L’objet Chaque objet est unique. Même dans le cas de 2 jumeauxChacun aura une empreinte digitaleDifférente.
  • 78. L’objet Chaque objet est unique. Même dans le cas de 2 jumeauxChacun aura une empreinte digitaleDifférente.
  • 79. L’objet Chaque objet est unique.
  • 80. Les méthodesDans le langage JAVA, une méthode détient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) { Corps de la méthode }  Le nom de la méthode  Les arguments  La valeur de retour  Le corps de la méthode
  • 81. Les méthodesDans le langage JAVA, une méthode détient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) { Corps de la méthode }  Le nom de la méthode  Les arguments  La valeur de retour  Le corps de la méthode
  • 82. Les méthodesDans le langage JAVA, une méthode détient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) { Corps de la méthode }  Le nom de la méthode  Les arguments  La valeur de retour  Le corps de la méthode
  • 83. Les méthodesDans le langage JAVA, une méthode détient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) { Corps de la méthode }  Le nom de la méthode  Les arguments  La valeur de retour  Le corps de la méthode
  • 84. Les méthodesDans le langage JAVA, une méthode détient quatre points essentiels : Type de Retour NomMethode(type1 argument1,type2 argument, type3 argument3) { Corps de la méthode }  Le nom de la méthode  Les arguments  La valeur de retour  Le corps de la méthode
  • 85. Les méthodesLes arguments : ce sont les arguments que l’on souhaite passer à la méthode. Elles sont obligatoirement séparés par une virgule.Le nom de la méthode : C’est le nom que l’on attribue à la méthode. Pour l’appeler, il faudra utiliser ce nom.La valeur de retour : Chaque méthode peut retourner une valeur. Il faudra la spécifier dans le corps de la méthode.Si le type est void, il ne retournera rien.Par contre, si on spécifie un type de retour, il faudra obligatoirement retourner une valeur. Dans le cas contraire, une erreur de compilation sera générée.
  • 86. Les méthodesLes arguments : ce sont les arguments que l’on souhaite passer à la méthode. Elles sont obligatoirement séparés par une virgule.Le nom de la méthode : C’est le nom que l’on attribue à la méthode. Pour l’appeler, il faudra utiliser ce nom.La valeur de retour : Chaque méthode peut retourner une valeur. Il faudra la spécifier dans le corps de la méthode.Si le type est void, il ne retournera rien.Par contre, si on spécifie un type de retour, il faudra obligatoirement retourner une valeur. Dans le cas contraire, une erreur de compilation sera générée.
  • 87. Les méthodesLes arguments : ce sont les arguments que l’on souhaite passer à la méthode. Elles sont obligatoirement séparés par une virgule.Le nom de la méthode : C’est le nom que l’on attribue à la méthode. Pour l’appeler, il faudra utiliser ce nom.La valeur de retour : Chaque méthode peut retourner une valeur. Il faudra la spécifier dans le corps de la méthode. Si le type est void, il ne retournera rien. Par contre, si on spécifie un type de retour, il faudra obligatoirement retourner une valeur. Dans le cas contraire, une erreur de compilation sera générée.
  • 88. Les méthodes Getter et Setter Les accesseurs permettent de modifier ou récupérer les attributs de la classe. Pour des raisons de sécurité, les attributs doivent être déclarées private.
  • 89. Les méthodes Getter et SetterLes accesseurs permettent de modifier ou récupérer les attributs de la classe. Pour des raisons de sécurité, les attributs doivent être déclarées private.
  • 90. Les méthodespublic class Actrice {private String nom;public void Setnom(String nom){ this.nom=nom;}public String Getnom(){return this.nom;}}
  • 91. Les méthodespublic class Actrice {private String nom; Voilà une variable d’instance.public void Setnom(String nom){ this.nom=nom;}public String Getnom(){return this.nom;}}
  • 92. Les méthodespublic class Fille{ Voilà le setteur.private String nom; Cette méthode va me permettre D’affecter un nom à mon fille.public void Setnom(String nom){ this.nom=nom;}public String Getnom(){return this.nom;}}
  • 93. Les méthodespublic class Fille { Voilà le getteurprivate String nom; Cette méthode va me permettre De récupérer le nom de mon objet.public void Setnom(String nom){ this.nom=nom;}public String Getnom(){return this.nom;}}
  • 94. L’encapsulation C’est un mécanisme fondamental de la Programmation Orientée objet.
  • 95. L’encapsulation C’est un mécanisme fondamental de la Programmation Orientée objet.
  • 96. L’encapsulation L’encapsulation consiste à protéger les informations contenues dans un objet.
  • 97. L’encapsulation L’encapsulation consiste à protéger les informations contenues dans un objet.
  • 98. L’encapsulation L’encapsulation consiste à protéger les informations contenues dans un objet.
  • 99. L’encapsulation L’encapsulation consiste à protéger les informations contenues dans un objet.
  • 100. L’encapsulationUn utilisateur peut manipuler les données à l’aide des méthodes.
  • 101. L’encapsulationUn utilisateur peut manipuler les données à l’aide des méthodes.
  • 102. L’encapsulationUn utilisateur peut manipuler les données à l’aide des méthodes.
  • 103. L’encapsulation Il existe 3 niveaux d’accès.
  • 104. L’encapsulation Il existe 3 niveaux d’accès. Public
  • 105. L’encapsulation Il existe 3 niveaux d’accès. Public, Privé,
  • 106. L’encapsulation Il existe 3 niveaux d’accès. Public, Privé, Protégé
  • 107. L’encapsulation Public
  • 108. L’encapsulation Publicaccessible par tout le monde
  • 109. L’encapsulation Private
  • 110. L’encapsulation PrivateUniquement manipulable par l’objet elle-même.
  • 111. L’encapsulation PrivateUniquement manipulable par l’objet elle-même.
  • 112. L’encapsulation Protégé manipulable par l’objet elle- même
  • 113. L’encapsulation Protégé manipulable par l’objet elle- même Et Les enfants.
  • 114. L’encapsulation Protégé manipulable par l’objet elle- même Et Les enfants.
  • 115. L’encapsulation
  • 116. L’encapsulationUne Actrice : Elle s’appelle Laura
  • 117. L’encapsulation Une fille : Elle s’appelle LauraDemanderson nomest publique
  • 118. L’encapsulation Une fille : Elle s’appelle LauraDemander Accessible parson nom tout le mondeest publique
  • 119. L’encapsulation Une fille : Elle s’appelle LauraDemander Accessible parson nom tout le mondeest publique Toute personne qui le souhaite peut lui demander son nom
  • 120. L’encapsulationLaura peut accepterde s’embrasserAvec un hommedont elle est séduite.
  • 121. L’encapsulationLaura peut accepterde s’embrasserAvec un hommedont elle est séduite.
  • 122. L’encapsulationLaura peut accepter de s’embrasserAvec un homme dontelle est séduite. S’embrasser Est Privée
  • 123. L’encapsulationLaura peut accepterde s’embrasserAvec un hommedont elle est séduite. Si un garçon souhaite embrasser Laura, il faudra qu’il séduise Laura.
  • 124. L’encapsulationLaura peut accepterde s’embrasser Séduire est publique.Avec un hommedont elle est séduite. Si un garçon souhaite embrasser Laura Il faudra qu’ilséduise Laura.
  • 125. L’encapsulation Séduire est publique. La méthode Séduire va appeler la méthode S’embrasser qui est privé.
  • 126. L’encapsulation Que se passe t-il si un homme embrasse Laura sans l’avoir séduite ?
  • 127. L’encapsulationQue se passe t-il si un homme embrasse Laura sans l’avoir séduite ?
  • 128. L’encapsulation Que se passe t-il si un homme embrasseLaura sans l’avoir séduite ?Il va prendre une gifle
  • 129. L’encapsulation Que se passe t-il si un homme embrasseLaura sans l’avoir séduite ? En effet, il y’a violation de la règle d’encapsulation.
  • 130. L’encapsulation Que se passe t-il si un homme embrasse Laura sans l’avoir séduite ? En effet, il y’a violation de la règle d’encapsulation.
  • 131. L’encapsulationLaura a aussi des données protégés.
  • 132. L’encapsulation Laura a aussi des données protégés.Son argent en banque
  • 133. L’encapsulation Personne d’autre ne pourra toucher à cette argent.Il n’ y a que LauraEt ses enfants quipourront l’utiliser.Son argent en banque
  • 134. L’encapsulation Personne d’autre ne pourra toucher à cette argen Laura a aussi des donnéesIl n’ y a que Laura protégés.Et ses enfants quiPourront l’utiliser. I Son argent en banque
  • 135. L’héritage C’est un concept fondamental de la programmation orienté objet.
  • 136. L’héritage C’est un concept fondamental de la programmation orienté objet.
  • 137. L’héritageIl offre la possibilité de réutiliser les composants logiciels existants.
  • 138. L’héritageIl offre la possibilité de réutiliser les composants logiciels existants. Une classe dérivé(=enfant) pourra utiliser les méthodes et attributs de la classe parent(=super classe).
  • 139. L’héritageIl offre la possibilité de réutiliser les composants logiciels existants. Une classe dérivé(=enfant) pourra utiliser les méthodes et attributs de la classe parent(=super classe) et pourra ajouter ses propres propriétés.
  • 140. L’héritageIl offre la possibilité de réutiliser les composants logiciels existants. Une classe dérivé(=enfant) pourra utiliser les méthodes et attributs de la classe parent(=super classe) et pourra ajouter ses propres propriétés.
  • 141. L’héritage Une classe enfant peut accéder uniquement au donnée publique et protégée.
  • 142. L’héritage Une classe enfant peut accéder uniquement au donnée publique et protégée.
  • 143. L’héritageCe qui offre la possibilité de ne pas avoir à répartir de 0.
  • 144. L’héritage
  • 145. L’héritageIl n’y a pas d’héritage multiple en Java
  • 146. L’héritageUne personne a un nom, un prénom, un numéro de SécuritéSociale.Un étudiant a un nom, un prénom, un numéro de SécuritéSociale,et une note.Un professeur a un nom, un prénom, un numéro deSécurité Sociale, et une matière.
  • 147. L’héritageUne personne a un nom, un prénom, un numéro de SécuritéSociale.Un étudiant a un nom, un prénom, un numéro de SécuritéSociale,et une note.Un professeur a un nom, un prénom, un numéro deSécurité Sociale, et une matière. Quels sont les propriétés communes au 3 ?
  • 148. L’héritageUne personne a un nom, un prénom, un numéro deSécurité Sociale.Un étudiant a un nom, un prénom, un numéro de SécuritéSociale, et une note.Un professeur a un nom, un prénom, un numéro deSécurité Sociale, et une matière. Quels sont les propriétés communes au 3 ?
  • 149. L’héritageOn peut centraliser le nom, le prénom, le numéro de Sécurité Sociale au sein d’une classe Personne. La classe Professeur et La classe Etudiant pourront les utiliser par le biais de l’héritage.
  • 150. L’héritage Un professeur est une personne. Un étudiant est une personne.
  • 151. L’héritage Un professeur est une personne. Un étudiant est une personne. Il s’agit de la relation « est un »
  • 152. L’héritage Un professeur est une personne. Un étudiant est une personne. Il s’agit de la relation « est un »
  • 153. L’héritage Sans héritage, on aurait Personne Etudiant 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):int setMatiere(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. L’héritage Sans héritage, on aurait Personne Etudiant Professeur #name : String -name : String -name : StringQuels sont les propriétés et # #prenom : String #numSS :String -prenom# String : -numSS :String -note : int -prenom# String : -numSS :String - Matiere :Stringméthodes 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):int setMatiere(String n) : void +setPersonne(String f,String +setNote(int n):void +getMatiere):String n, int s) +getEtudiant(): void +getProfesseur(): void +setEtudiant(String f,String +setProfesseur(String n, int s,int n) f,String n, String m)
  • 155. L’héritage Sans héritage, on aurait Personne Etudiant 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):int setMatiere(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. L’héritage Avec héritage, on aurait
  • 157. L’héritage Avec héritage, on auraitN’est-il pas plus simpleD’implémenter ce modèle?
  • 158. L’héritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}
  • 159. L’héritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}
  • 160. L’héritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}Le mot clé extends indique au compilateurque la classe Etudiant héritede la classe Personne.
  • 161. L’héritagepublic class Personne {}public class Professeur extends Personne {}public class Etudiant extends Personne {}Le mot clé extends indique au compilateurque la classe Etudiant héritede la classe Personne.
  • 162. Le polymorphisme Le polymorphisme est un concept fondamental de la programmation orientée objet.
  • 163. Le polymorphisme Le polymorphisme est un concept fondamental de la programmation orientée objet. Dans la langue grec, il signifie « peut prendre plusieurs formes »
  • 164. Le polymorphisme Le polymorphisme est un concept fondamental de la programmation orientée objet. Dans la langue grec, il signifie « peut prendre plusieurs formes »
  • 165. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres.
  • 166. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres.
  • 167. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres.
  • 168. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres.
  • 169. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres. Le choix de la méthode se fera automatiquement en fonction des paramètres reçus.
  • 170. Le polymorphismeLe polymorphisme offre la possibilité de définir plusieurs méthodes portant le même nom mais possédant différents paramètres. Le choix de la méthode se fera automatiquement en fonction des paramètres reçus.
  • 171. Le polymorphismePrenons l’exemple d’un chien qu’une personne essaye d’approcher.Chaque chien a une manière différente pour accueillir les inconnus.Et cela dépend bien évidemment de la manière dont vous l’approchez.
  • 172. Le polymorphismeSi vous lui jetez une pierre.Sa méthode accueillir va recevoir en argument une pierre.Voilà comment il va réagir.
  • 173. Le polymorphismeSi vous lui jetez une pierre.Sa méthode accueillir va recevoir en argument une pierre.Voilà comment il va réagir.
  • 174. Le polymorphismeSi vous lui donner à manger.Sa méthode accueillir va recevoir en argument de la nourriture.Voilà comment il va réagir.
  • 175. Le polymorphismeSi vous lui donner à manger.Sa méthode accueillir va recevoir en argument de la nourriture.Voilà comment il va réagir.
  • 176. Le polymorphismeNous venons de voir que le même objet Chien pouvaitavoirdes comportements différents. La même méthodeaccueillir vaavoir un comportement différent en fonction desparamètres reçus.
  • 177. Le polymorphismeNous venons de voir que le même objet Chien pouvaitavoirdes comportements différents. La même méthodeaccueillir vaavoir un comportement différent en fonction desparamètres reçus.
  • 178. Classe Abstraite Une classe abstraite est une classe dont l’implémentation n’est pas complète.
  • 179. Classe Abstraite Une classe abstraite est une classe dontl’implémentation n’est pas complète. Elle va servir de modèle pour les classes enfants.
  • 180. Classe Abstraite Une classe abstraite est une classe dont l’implémentation n’est pas complète. Elle va servir de modèle pour les classes enfants.
  • 181. Classe Abstraite Une classe abstraite est une classe dont l’implémentation n’est pas complète. Elle va servir de modèle pour les classes enfants. La classe abstraite va définir des méthodes en fournissant leur signature.
  • 182. Classe Abstraite Une classe abstraite est une classe dont l’implémentation n’est pas complète. Elle va servir de modèle pour les classes enfants. La classe abstraite va définir des méthodes 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 d’argument
  • 186. Classe AbstraiteLe type de retourLe nomLe type d’argumentC’est une assurance pour la classe de baseles classes enfants respecteront bien lesSpécifications.
  • 187. Classe AbstraiteLe type de retourLe nomLe type d’argumentC’est une assurance pour la classede base queles classes enfants respecteront bien lesSpécifications définie
  • 188. Classe abstraiteUne classe est dite abstraite si et seulement si elle détient une ouplusieurs méthodes abstraites.
  • 189. Classe abstraite Il n’est pas possible d’instancier une classe abstraite.
  • 190. Classe abstraite Il n’est pas possible d’instancier une classe abstraite.
  • 191. Classe abstraite Par exemple, un animal domestique.
  • 192. Classe abstraite Par exemple, un animal domestique.On sait qu’il aura obligatoirementUne méthode parler.Tous les animaux domestiques parlentmais chacune a sa manière.
  • 193. Classe abstraite Par exemple, un animal domestique.Les oiseaux vont dire : Cik Cik Cik
  • 194. Classe abstraite Par exemple, un animal domestique.Le chat va dire : Miaou Miaou
  • 195. Classe abstraite Par exemple, un animal domestique.Le chien va dire : Hav Hav Hav
  • 196. Classe abstraiteSi l’on définie une classe abstraite Animal Domestique, on va y placer La méthode abstraite « parler » . Ainsi chaque classe enfant va implémenter la méthode parler à sa manière.
  • 197. Classe abstraite Par exemple, un animal domestique.Ainsi, la classe Chien va dire : Hav Hav Hav
  • 198. Classe abstraite Par exemple, un animal domestique.Ainsi, la classe Oiseau va dire : Cik Cik Cik
  • 199. Les classes Interfaces Nous avons vu auparavant que l’héritage multiple n’existe pas en Java. Nous avons vu que les classes abstraites ne définissent que la signature des méthodes.
  • 200. Les classes InterfacesNous avons vu auparavant quel’héritage multiple n’existe pas en Java. Nous avons vu que les classes abstraites ne définissent que la signature des méthodes.
  • 201. Les classes Interfaces Une classe interface va aussi définir simplement les signatures des méthodes pour les classes enfants.
  • 202. Les classes Interfaces Une classe interface va aussi définir simplement les signatures des méthodes pour les classes enfants.
  • 203. Les classes Interfaces Une classe interface va aussi définir simplement les signatures des méthodes pour les classes enfants. Mais celui-ci est plus riche qu’une classe abstraite. Savez vous pourquoi?
  • 204. Les classes Interfaces Une classe interface va aussi définir simplement les signatures des méthodes pour les classes enfants. Mais celui-ci est plus riche qu’une classe abstraite. Savez vous pourquoi?
  • 205. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java.
  • 206. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java. Mais une classe peut implémenter plusieurs classes interfaces.
  • 207. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java. Mais une classe peut implémenter plusieurs classes interfaces.
  • 208. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java. Mais une classe peut implémenter plusieurs classes interfaces. Une classe peut hériter une classe C1 et implémenter une ou plusieurs classes interfaces I1,I2,I3,I4,…….
  • 209. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java. Mais une classe peut implémenter plusieurs classes interfaces. Une classe peut hériter une classe C1 et implémenter une ou plusieurs classes interfaces I1,I2,I3,I4,…….
  • 210. Les classes Interfaces Il est possible d’hériter d’une seule classe car l’héritage multiple n’existe pas en Java. Mais une classe peut implémenter plusieurs classes interfaces. Une classe peut hériter une classe C1 et implémenter une ou plusieurs classes interfaces I1,I2,I3,I4,…….
  • 211. Les classes Interfaces Mickael JacksonEst un danseur Est un chanteur
  • 212. Les classes Interfaces Mickael Jackson Un chanteur n’est pas Un danseur
  • 213. Les classes Interfaces Mickael Jackson Un chanteur n’est pas Un danseur Un danseur n’est pas Un chanteur
  • 214. Les classes Interfaces Comment faire ?Une classe ne peut hériter d’une 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 implémenter ces 2 interfaces.