0% ont trouvé ce document utile (0 vote)
13 vues15 pages

Programmation Java M5 POO

Le document traite de la programmation orientée objet en Java, en se concentrant sur les classes abstraites et les interfaces. Les classes abstraites permettent de définir des caractéristiques communes sans pouvoir être instanciées, tandis que les interfaces définissent des méthodes abstraites que les classes doivent implémenter. Un exercice pratique est proposé pour créer une interface 'Véhicule' et des classes qui l'implémentent.

Transféré par

shaurikyeemaaudry
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues15 pages

Programmation Java M5 POO

Le document traite de la programmation orientée objet en Java, en se concentrant sur les classes abstraites et les interfaces. Les classes abstraites permettent de définir des caractéristiques communes sans pouvoir être instanciées, tandis que les interfaces définissent des méthodes abstraites que les classes doivent implémenter. Un exercice pratique est proposé pour créer une interface 'Véhicule' et des classes qui l'implémentent.

Transféré par

shaurikyeemaaudry
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PROGRAMMATION JAVA

L2, GEI, 2024-2025

MSc. Yvette KALIMUMBALO


CHAP III. PROGRAMMATION
ORIENTÉE OBJET (POO) EN JAVA
PLAN
Partie 1: Les classes et méthodes
Partie 2: L’héritage
Partie 3: Les classes abstraites et les interfaces
Partie 4: Les exceptions
3. Les classes abstraites et les interfaces
OBJECTIFS

• Comprendre les concepts de classes abstraites et interfaces en Java.


3.1. Les classes abstraites
Définition : Une classe abstraite est une classe qui ne peut pas être instanciée.
• Elle n’a donc pas de constructeur.
• Elle peut contenir des méthodes abstraites (sans implémentation) et des
méthodes concrètes (avec implémentation).
• Cette particularité est dûe au fait qu’une instance de cette classe ne peut pas
exister de façon autonome.
• Cette classe permet juste de définir les caractéristiques communes à plusieurs
autres classes.
3.1. Les classes abstraites
Exemple:
• Soit on est en train de réaliser un programme qui gère différents types d'animaux
• Dans ce programme, on aura des loups, des chiens, des chats, des lions et des
tigres.
• Tous ces animaux ont des points communs! Et qui dit points communs dit
héritage.

• Points communs:
couleur, un poids, une façon de manger,
de boire, de se déplacer, ou de crier.
3.1. Les classes abstraites
Exemple:
• On peut se poser une question: qu'est censé faire un objet Animal si nous
l’instancions? Quel animal? Quel est son poids, sa couleur, que mange-t-il,
comment il crie ?
• On ne peut pas parler de Animal sans spécifier lequel et avoir des caractéristiques
spécifiques.
• Par là, vous conviendrez que toutes les classes ne sont pas bonnes à être
instanciées !
• C'est là qu’interviennent les classes abstraites.
3.1. Les classes abstraites
Création d’une classe abstraite:
• Pour qu'une classe soit considérée comme abstraite, elle doit être déclarée avec
le mot clé abstract.
• Elle contient la même chose qu'une classe normale (Sauf le constructeur) . Ses
enfants pourront utiliser tous ses éléments déclarés (attributs et méthodes).
• Cette classe peut définir une ou plusieurs méthodes abstraites. Elle peut même
ne pas définir une méthode abstraite (zero ou plusieurs méthodes abstraites).
• Si, dans une classe, vous avez une méthode déclarée abstraite, vous devez
déclarer cette classe comme étant abstraite.
3.1. Les classes abstraites
Création d’une classe abstraite:
• Une méthode abstraite est une méthode qui a une signature mais qui n’a pas de
corps.
• Comme les classes filles héritent des méthodes des classes parents, les classes
filles se chargent de redéfinir les méthodes abstraites. Elles seront donc des
méthodes polymorphes.

• Exercice: cfr fichier [Link]


3.2. Les interfaces
• les interfaces sont des classes qui permettent de créer un nouveau supertype. Ce
sont des classes 100% abstraites. Cad, elles n’ont que des méthodes abstraites.
• En d’autres termes, contrairement à une classe abstraite, une interface ne peut
contenir que des méthodes sans implementation.
• il n'est pas nécessaire d'utiliser le mot-clé abstract dans la signature des
méthodes abstraites d'une interface, car, par convention, toutes les méthodes
déclarées dans une interface sont implicitement abstraites.
3.2. Les interfaces
• Pour qu’une classe utilise une Interface, il suffit d'utiliser le mot clé implements.

• Java ne gère pas l’héritage multiple mais une classe peut implémenter plusieurs
interfaces.

• Lorsqu’une classe implémente une interface, elle doit redéfinir toutes les
méthodes de l’interface. C’est là que réside même l’avantage des interfaces.
3.2. Les interfaces
• Signalons aussi qu’une classe peut hériter d’une superclasse et implémenter une
ou plusieurs interfaces au même moment. L’'expression d'héritage doit précéder
celle d'implémentation.
TP_exercice
Créer une interface Véhicule qui définit des méthodes communes pour plusieurs types de véhicules
(par exemple, voiture, vélo et moto), et créer des classes qui implémentent cette interface. Ensuite,
instancier ces classes et utiliser les méthodes définies dans l'interface.
Instructions :
• Crée une interface Véhicule qui contient les méthodes suivantes :
• void demarrer(); — Cette méthode est utilisée pour démarrer le véhicule.
• void arreter(); — Cette méthode est utilisée pour arrêter le véhicule.
• int getVitesseMax(); — Cette méthode retourne la vitesse maximale du véhicule (en km/h).
• Crée les classes suivantes qui implémentent l'interface Véhicule :
• Voiture : La voiture a une vitesse maximale de 200 km/h. Implémente les méthodes de l'interface.
• Velo : Le vélo a une vitesse maximale de 30 km/h. Implémente les méthodes de l'interface.
• Moto : La moto a une vitesse maximale de 180 km/h. Implémente les méthodes de l'interface.
• Dans la classe principale TestVehicule, crée des objets de type Véhicule pour chaque classe
(Voiture, Velo, Moto) et appelle les méthodes demarrer(), arreter() et getVitesseMax() sur chaque
objet.
References
• Johnson K. Cours de programmation Java, inédit
• Tutos

Vous aimerez peut-être aussi