Cours 3 Java POO
Cours 3 Java POO
La POO permet d’implémenter également la notion d’héritage entre classes qui est
modélisé par UML.
La finalité de la création des classes ainsi que les interfaces est l’instanciation.
1) Notion de classe
a) Attributs
L’attribut fait partie des éléments qui caractérisent une classe. En java un
attribut est précédé d’une portée ou visibilité qui peut être privée (private),
publique (public) ou protégée (protected)
1
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
Un attribut qui n’a pas de visibilité dans une classe est par défaut à public. Tous
les caractères du nom d’un attributs sont en minuscules.
b) Constructeur
Il permet de créer les objets d’une classe. Il permet aussi d’initialiser les
attributs de la classe c’est-à-dire leur donner des valeurs. Il existe deux types de
constructeurs :
Syntaxe :
public NomClasse(){
2
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
Par convention, this désigne l’objet courant (c’est une référence sur l’objet courant)
et il permet de lever l’ambiguïté de nom dans le cas ou une méthode a un nom de
paramètre identique à un attribut.
c) Méthodes
Une méthode définit le comportement d’une classe et est toujours définie en public sauf
dans les cas où elle est utilisée par une autre méthode de la même classe. Dans ce cas elle
est définie en privée. Les méthodes sont en général publique pour interagir avec les autres
objets. Dans une classe, on peut sentir le besoin d’avoir des méthodes qui permettent de
faire une tache spécifique par rapport aux besoins d’une autre méthode publique. Dans ce
cas celles-ci sont privées.
3
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
Remarque :
Les attributs ou les méthodes d’une classe peuvent être static, et on parle de méthode
ou d’attribut de classes, alors que pour les méthodes et attributs non statiques, on parle
d’attribut et de méthode d’instances.
4
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
2) L’objet
Il est créé grâce au mot clé "new", sa classe d’origine ou bien sa classe de base
dans le cas de l’héritage.
3) Héritage
Une classe qui hérite d’une autre classe est appelée classe dérivée ou sous classe ou encore
classe fille.
La classe qui permet l’implémentation de l’héritage est appelée classe de base ou super
classe ou encore classe mère.
En java si une classe fille veut faire appel à des fonctionnalités de sa classe de base, on
utilise le mot clé super.
Syntaxe :
public class BaseClass{
//attributs
//constructeurs
//méthodes
}
5
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
Exemple :
6
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
4) Constante
Exemple:
6) Notion d’interface
Une application informatique doit être fermée à la modification et ouverte à l’extension.
Tout cela, les fonctionnalités ne doivent pas être codées dans les classes d’analyse mais
elles doivent être d’abord définies dans les interfaces java avant de les implémenter. Une
interface est définie grâce au mot clé ‘’interface’’ à la place de ‘’class’’.
Les classes qui implémentent les interfaces sont appelées classes d’implémentation. Pour
définir l’implémentation d’une classe, on utilise le mot clé ‘’implements’’
Syntaxe :
7
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
//code ici
La méthode toString()
■ La méthode toString est définie dans la classe Object ; en conséquence toutes les
classes Java en hérite.
■ La méthode toString définie dans la classe Object ne fait pas grand-chose : elle renvoie
le nom de la classe de l'objet concerné suivi de l'adresse de cet objet.
■ Cette méthode est utilisée par la machine Java toutes les fois où elle a besoin de
représenter un objet sous forme d'une chaîne de caractères.
8
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
TP3 :
9
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
TP4 :
10
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
TP4 :
IProduit
Produit
+ saisie () : Produit
-ref : String + affichage (Produit) : void
-libelle : String
-quantite : double
-prix : int
ProduitImpl
11
00221 77 180 05 10 [email protected]
M GAYE Abdoulaye Java
12
00221 77 180 05 10 [email protected]