Bonjour,

en déclarant une classe abstraite Oeuvres :
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();
 
}
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 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 : 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");
	}
}
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é )