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.
9. Qu’est qu’une classe ?
Actrice
Un prénom
Un nom
Une date de naissance
Une adresse
Un lieu de naissance
Elle a des attributs
10. Qu’est qu’une classe ?
Un prénom
Un nom
Une date de naissance
Une adresse
Un lieu de naissance
Elle a des attributs et des méthodes
11. Qu’est qu’une classe ?
Un prénom Manger
Un nom Boire
Une date de naissance Parler
Une adresse Dormir
Un lieu de naissance Rougir
Elle a des attributs et des méthodes
12. Qu’est qu’une classe ?
Un prénom Manger
Un nom Boire
Une date de naissance Parler
Une adresse Dormir
Un lieu de naissance Rougir
Elle a des attributs et des méthodes
13. Qu’est qu’une classe ?
Un prénom Manger
Un nom Boire
Une date de naissance Parler
Une adresse Dormir
Un lieu de naissance Rougir
Ce sont les propriétés
Elle a des attributs et des méthodes
14. Qu’est qu’une classe ?
Un prénom Manger
Un nom Boire
Une date de naissance Parler
Une adresse Dormir
Un lieu de naissance Rougir
Elle 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 Rougir
Ce sont les actions
qu’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 variables
private 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 variables
private 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 classe
private 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 classe
private 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.
24. Qu’est qu’une classe ?
public class Actrice{
private int id ;
Les variables de classe
private 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.
25. Qu’est qu’une classe ?
public class Actrice {
private int id ;
Les variables de classe
private 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.
30. Qu’est qu’un objet?
Voici un objet instancié
à partir de la classe
Actrice.
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 classe
Actrice.
Il dispose de toutes
les propriétés et méthodes
définies dans la classe Fille.
38. Qu’est qu’un objet ?
Actrice est un modèle (classe) ;
Tandis que Cérise et Audrey sont
des instances (objet).
39. Qu’est qu’un objet ?
Actrice est un modèle (classe) ;
Tandis que Cérise et Audrey sont
des instances (objet).
Ils ont été instanciés à partir d’un
modèle (classe).
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 constructeur
Un constructeur a pour objectif d’initialiser les
attributs de la
classe.
Un constructeur a plusieurs caractéristiques :
47. Création d’un objet
La notion de constructeur
Un constructeur a pour objectif d’initialiser les
attributs de la
classe.
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 constructeur
Un constructeur a pour objectif d’initialiser les
attributs de la
classe.
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 constructeur
Un constructeur a pour objectif d’initialiser les
attributs de la
classe.
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 constructeur
public 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 constructeur
public 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çu
public 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 constructeur
public 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 constructeur
public class Actrice {
private int id ; this donne le nom de la classe
private 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.
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é.
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 jumeaux
Ils peuvent avoir le même prénom,
75. L’objet
Chaque objet est unique.
Même dans le cas de 2 jumeaux
Ils 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 jumeaux
Ils 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 jumeaux
Chacun aura une empreinte digitale
Différente.
78. L’objet
Chaque objet est unique.
Même dans le cas de 2 jumeaux
Chacun aura une empreinte digitale
Différente.
80. Les méthodes
Dans 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éthodes
Dans 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éthodes
Dans 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éthodes
Dans 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éthodes
Dans 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éthodes
Les 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éthodes
Les 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éthodes
Les 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 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.
90. Les méthodes
public class Actrice {
private String nom;
public void Setnom(String nom)
{
this.nom=nom;
}
public String Getnom()
{
return this.nom;
}
}
91. Les méthodes
public 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éthodes
public 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éthodes
public class Fille {
Voilà le getteur
private 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.
117. L’encapsulation
Une fille : Elle s’appelle Laura
Demander
son nom
est publique
118. L’encapsulation
Une fille : Elle s’appelle Laura
Demander Accessible par
son nom tout le monde
est publique
119. L’encapsulation
Une fille : Elle s’appelle Laura
Demander Accessible par
son nom tout le monde
est publique
Toute personne qui le
souhaite
peut lui demander son nom
123. L’encapsulation
Laura peut accepter
de s’embrasser
Avec un homme
dont elle est séduite.
Si un garçon
souhaite
embrasser Laura,
il faudra qu’il
séduise Laura.
124. L’encapsulation
Laura peut accepter
de s’embrasser Séduire est publique.
Avec un homme
dont elle est séduite.
Si un garçon
souhaite
embrasser
Laura
Il faudra qu’il
sé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 ?
133. L’encapsulation
Personne d’autre ne pourra
toucher à cette argent.
Il n’ y a que Laura
Et ses enfants qui
pourront l’utiliser.
Son argent en banque
134. L’encapsulation
Personne d’autre ne pourra toucher à cette argen
Laura a aussi des données
Il n’ y a que Laura
protégés.
Et ses enfants qui
Pourront l’utiliser.
I
Son argent en banque
138. L’héritage
Il 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éritage
Il 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éritage
Il 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.
146. L’héritage
Une 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 de
Sécurité Sociale, et une matière.
147. L’héritage
Une 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 de
Sécurité Sociale, et une matière.
Quels sont les propriétés communes au 3 ?
148. L’héritage
Une 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 de
Sécurité Sociale, et une matière.
Quels sont les propriétés communes au 3 ?
149. L’héritage
On 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 »
160. L’héritage
public class Personne {
}
public class Professeur extends Personne {
}
public class Etudiant extends Personne {
}
Le mot clé extends indique au compilateur
que la classe Etudiant hérite
de la classe Personne.
161. L’héritage
public class Personne {
}
public class Professeur extends Personne {
}
public class Etudiant extends Personne {
}
Le mot clé extends indique au compilateur
que la classe Etudiant hérite
de 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 polymorphisme
Le polymorphisme offre la possibilité de
définir plusieurs méthodes portant le
même nom mais possédant différents
paramètres.
166. Le polymorphisme
Le polymorphisme offre la possibilité de
définir plusieurs méthodes portant le
même nom mais possédant différents
paramètres.
167. Le polymorphisme
Le polymorphisme offre la possibilité de
définir plusieurs méthodes portant le
même nom mais possédant différents
paramètres.
168. Le polymorphisme
Le polymorphisme offre la possibilité de
définir plusieurs méthodes portant le
même nom mais possédant différents
paramètres.
169. Le polymorphisme
Le 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 polymorphisme
Le 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 polymorphisme
Prenons 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 polymorphisme
Si vous lui jetez une pierre.
Sa méthode accueillir va recevoir en argument une pierre.
Voilà comment il va réagir.
173. Le polymorphisme
Si vous lui jetez une pierre.
Sa méthode accueillir va recevoir en argument une pierre.
Voilà comment il va réagir.
174. Le polymorphisme
Si vous lui donner à manger.
Sa méthode accueillir va recevoir en argument de la nourriture.
Voilà comment il va réagir.
175. Le polymorphisme
Si vous lui donner à manger.
Sa méthode accueillir va recevoir en argument de la nourriture.
Voilà comment il va réagir.
176. Le polymorphisme
Nous venons de voir que le même objet Chien pouvait
avoir
des comportements différents. La même méthode
accueillir va
avoir un comportement différent en fonction des
paramètres reçus.
177. Le polymorphisme
Nous venons de voir que le même objet Chien pouvait
avoir
des comportements différents. La même méthode
accueillir va
avoir un comportement différent en fonction des
paramè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
dont
l’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.
186. Classe Abstraite
Le type de retour
Le nom
Le type d’argument
C’est une assurance pour la classe de base
les classes enfants respecteront bien les
Spécifications.
187. Classe Abstraite
Le type de retour
Le nom
Le type d’argument
C’est une assurance pour la classe
de base que
les classes enfants respecteront bien les
Spécifications définie
188. Classe abstraite
Une classe est dite abstraite si et
seulement si elle détient une ou
plusieurs méthodes abstraites.
192. Classe abstraite
Par exemple, un animal domestique.
On sait qu’il aura obligatoirement
Une méthode parler.
Tous les animaux domestiques parlent
mais 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 abstraite
Si 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 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.
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,…….