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

Abstraction en Java

L'abstraction en Java est un principe de la programmation orientée objet qui masque les détails d'implémentation, utilisant des classes et méthodes abstraites. Une classe abstraite, comme 'Car', ne peut pas être instanciée directement et impose aux sous-classes d'implémenter certaines méthodes. Ce concept favorise la réutilisation du code, l'organisation et la flexibilité dans la définition des comportements obligatoires.

Transféré par

Benick NDANDOU
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)
0 vues3 pages

Abstraction en Java

L'abstraction en Java est un principe de la programmation orientée objet qui masque les détails d'implémentation, utilisant des classes et méthodes abstraites. Une classe abstraite, comme 'Car', ne peut pas être instanciée directement et impose aux sous-classes d'implémenter certaines méthodes. Ce concept favorise la réutilisation du code, l'organisation et la flexibilité dans la définition des comportements obligatoires.

Transféré par

Benick NDANDOU
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

Abstraction en Java

L’abstraction en Java est un principe de la POO qui consiste à masquer les


détails d’implémentation et à ne montrer que les fonctionnalités essentielles
d’un objet. Elle se réalise principalement via les classes abstraites et
les méthodes abstraites.
Une classe abstraite est un modèle qui ne peut pas être instancié directement.
Elle peut contenir :
 Des méthodes abstraites (sans corps) que les sous-classes doivent
implémenter.
 Des méthodes concrètes (avec corps) réutilisables par les sous-classes.

// Classe abstraite
public abstract class Car {
private String model;
public abstract void gas(); // Méthode abstraite
public void brake() { // Méthode concrète
[Link]("Braking...");
}
}
// Sous-classe
public class Sedan extends Car {
@Override
public void gas() {
[Link]("The sedan is accelerating!");
}
}
// Utilisation
public class Main {
public static void main(String[] args) {
Car myCar = new Sedan();
[Link](); // The sedan is accelerating!
[Link](); // Braking
}
}

Ici, Car définit un contrat avec gas() que toute sous-classe doit implémenter,
tout en fournissant un comportement par défaut pour brake().
Points clés :
 Pas d’instanciation directe : new Car() provoque une erreur.

M. YOMBI Prince
 Héritage obligatoire : toute classe enfant doit implémenter les
méthodes abstraites ou être elle-même abstraite.
 Combinaison possible avec des interfaces : une classe abstraite peut
implémenter plusieurs interfaces.
 Constructeurs et membres statiques : autorisés dans les classes
abstraites.
 Utilisation recommandée : lorsque plusieurs classes partagent un
comportement commun mais doivent définir certaines méthodes
spécifiques.
Avantages :
 Centralisation du code commun.
 Flexibilité pour définir des comportements obligatoires.
 Meilleure organisation et lisibilité du code.

EXERCICE

M. YOMBI Prince
Explication du modèle
 Classe abstraite Animal
o Attributs : nom : String, age : int
o Méthodes abstraites : manger(), faireSon()
 Sous-classes :
o Félin : ajoute la méthode chasser()
 Lion : rugir(), implémente faireSon() → "Rugissement"
 Chat : miauler(), implémente faireSon() → "Miaulement"
o Canin : ajoute la méthode garder()
 Chien : aboyer(), implémente faireSon() → "Aboiement"
 Loup : hurler(), implémente faireSon() → "Hurlement"

Questions
1. Écris le code Java de la classe abstraite Animal avec ses attributs et
méthodes abstraites.
2. Implémente la classe Félin qui hérite de Animal et ajoute la méthode
chasser().
3. Implémente la classe Lion qui hérite de Félin et redéfinit la méthode
faireSon().
4. Crée une classe Main qui instancie un Lion, un Chat, un Chien et un
Loup, puis appelle leurs méthodes faireSon().
5. Montre comment utiliser le polymorphisme pour stocker ces objets
dans un tableau d’Animal et parcourir leurs sons.
6. Ajoute une méthode afficherInfos() dans Animal et montre comment elle
est héritée et utilisée dans les sous-classes.
7. Explique comment tu pourrais rendre la méthode manger () concrète
dans Animal tout en gardant la classe abstraite.

M. YOMBI Prince

Vous aimerez peut-être aussi