Question classe abstraite
Bonjour,
en déclarant une classe abstraite Oeuvres :
Code:
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();
} |
puis dans une autre classe en définissant la méthode void ranger() :
Code:
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");
}
} |
ensuite dans une autre classe en définissant la méthode void vendre() :
Code:
1 2 3 4 5 6
| public class Magazines extends Oeuvres{
void vendre() {
System.out.println("Je vend un magazine");
}
} |
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).
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é :aie:)