Bonjour,
en déclarant une classe abstraite Oeuvres :
puis dans une autre classe en définissant la méthode void ranger() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public abstract class Oeuvres { protected String titre; protected int année; protected void lire(){ System.out.println("Je lis une oeuvre"); } abstract void ranger(); abstract void vendre(); }
ensuite dans une autre classe en définissant la méthode void vendre() :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public class Livres extends Oeuvres{ public Livres(String pTitre, int pAnnée){ this.titre=pTitre; this.année=pAnnée; } void ranger(){ System.out.println("Je range un livre"); } }
ma classe Livres a un problème, qui se corrige en définissant dans cette classe la méthode void vendre() (méthode que j'ai déclarée dans Magazines).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class Magazines extends Oeuvres{ void vendre() { System.out.println("Je vend un magazine"); } }
Cela signifie-t-il que ma classe abstraite Livres doit obligatoirement définir toutes mes méthodes non définies de ma classe mère (à savoir ici Oeuvres) ?
Car bien que je définisse ma méthode void vendre() dans la classe suivante (Magazines), la classe Livres semble ne pas prendre cela en compte.
Merci d'avance, j'espère avoir été clair !
(bien que la question soit simple, je l'ai peut être un peu compliqué)
Partager