Heritage

khallou2007 Messages postés 51 Date d'inscription dimanche 9 décembre 2007 Statut Membre Dernière intervention 13 juillet 2010 - 30 avril 2008 à 13:25
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 - 30 avril 2008 à 14:00
dans une application sur l'heritage j'ai rencontré une difficulté voila d'abord le code

abstract class Form
{
    double x,y,d;
    Form(double x,y,d)
    {
        this.x=x;   
        this.y=y;
        this.d=d;
    }
     abstract double calculersurface()
     {
     }
     abstract double calculervolume()
     {
     }
     
     double calculerpoids()
     {
         return(calculervolume()*d);
     }
     public String toString()
     {
         return("je suis une instance de"+getClass()+"les attributs sont"+x+y+d);
     }
   
}
 class brique extends Form
{
    double lar;
     double lon,haut;
    brique(double lar,double lon,double haut,double x,double y,double d)
    {
        super(x,y,d);
        this.lar=lar;
        this.lon=lon;
        this.haut=haut;
    }
    double calculersurface()
    {
       double s;
       s=(2*lar*haut)+(2*lon*larg);
       return(s);
       }
    double calculervolume()
    {
        return(haut*lar*lon);
    }
  
    public String toString()
    {
        return(super.toString()+lar+haut+lar);
    }
}
final class cube extends brique
{
    cube(double lar ,double lar,double lar,double x,double y,double d)
    {
      super(x,y,d,lar,lar,lar);
    }
    public String toString()
    {
        return(super.toString());
    }   
}

et comme vous voyez la class cube est herité de la class brique mais je veut heriter la methode String toString de la class Form puis ajouter l'attribut " lar" ,or la class cube herite la methode String toString de la class brique (qui pocede lar +haut+lon).
(j'espere que vous me comprenez) et merci d'avance.

2 réponses

Utilisateur anonyme
30 avril 2008 à 13:33
Tu n'as pas d'autre choix que de réécrire toString en faisant ce qui te convient avec les attributs d'instance.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
30 avril 2008 à 14:00
Salut,
Comme dit très justement gouessej, tu n'as pas le choix. en effet, la notion d'héritage implique que tu hérites de la dernière définition des tes méthodes. autrement dit, soit tu réimplémentes la méthode toString, soit Cube hérite de Form.

Voili voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
Rejoignez-nous