|
|
|
|
Bonjour à tous.
Je débute en Java. Je suis en train d'essayer de comprendre le concept d'héritage.
J'ai essayé de faire un petit programme, mais j'ai des problèmes à la compilation que je n'arrive pas à résoudre. Je code sous Windows sous Eclipse.
Les erreurs sont de ce type : Constructor call must be the first statement in a constructor
Voici le code :
public class Cercle {
public static float pi = 3.1416f;
protected float rayon;
public float Affiche(){ return this.rayon; }
public Cercle(float rayon) { this.rayon = rayon; }
public Cercle(){ this.rayon=1;}
public float surface() { return rayon * rayon * pi; }
}
public class SousCercle extends Cercle{
private float sousRayon;
public void SousCercle(){
super(2);
this.sousRayon=1;
}
public void SousCercle(float rayon){
super(rayon);
this.sousRayon=1;
}
public void SousCercle(float rayon, float sousRayon){
super(rayon);
if(super.rayon>sousRayon){
this.sousRayon=sousRayon;}
else
{
this.sousRayon=0;
}
}
public float SousSurface(){ return super.pi*super.pi*sousRayon;}
public float Affiche(){
return sousRayon;
}
}
Je vous remerci à tous pour votre aide.
Julien
Configuration: Windows XP Internet Explorer 6.0
public void SousCercle() public void SousCercle(float rayon) public void SousCercle(float rayon, float sousRayon) Attention, un constructeur n'a pas de type, pas même void. Faut transformer ces trois trucs là en: public SousCercle() public SousCercle(float rayon) public SousCercle(float rayon, float sousRayon) ..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le... |
Autre chose: pourquoi super.rayon?
class Medecin
{
public quiSuisJe()
{
System.out.println("Je suis un médecin");
}
}
class Pediatre extends Medecin()
{
public quiSuisJe()
{
super.quiSuisJe()
System.out.println("Et je soigne les enfants");
}
}
class MonProgramme
{
public static void main(String[] args)
{
Medecin m = new Pediatre();
m.quiSuisJe(); //Affiche: Je suis médecin Et je soigne les enfants.
}
}
Voilà, en gros, le super sert à compléter l'implémentation du parent. Mais pour l'accés aux attributs d'instance c'est inutile. ..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...
|