Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [Java] Corregetemi

  1. #1

    [Java] Corregetemi

    cosa ho sbagliato???
    class area{
    double base;
    double height;

    area(double x,double y){
    base=x;
    height=y;
    }

    double calcolo(){
    return base*height;
    }
    }
    class peso extends area{
    double weight;

    peso(double x, double y, double z){mi da un errore qui
    base=x;
    height=y;
    weight=z;
    }
    }


    class demoarea{
    public static void main(String args[]){
    peso es1=new peso(5,6,7);
    System.out.println ("L'area e': "+es1.calcolo());
    System.out.println ("Il peso e': "+es1.weight);
    }
    }

    chi mi piò spiegare il mio errore?

  2. #2
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    definendo un costruttore a due argomenti, nella classe area non hai piu' il costruttore di default.
    la classe peso, figlia di area, deve chiamare per forza il costruttore della classe madre.
    non essondoci chiamate esplicite viene chiamato il costruttore di default della classe area....che pero' non c'e'!

    nel costruttore della classe peso richiama il costrittore a due parametri di area!
    in altre parole inizializza base e height utilizzandi il costruttore della classe madre

  3. #3
    no mi da sempre errore nella parentesi graffa

  4. #4
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    dimenticavo:
    per richiamare il costruttore della classe madre:
    super(x,y);

    in teoria potresti anche lasciare il costruttore di peso cosi' com'e' e aggiungere in area il costr. di default (che non fa niente area(){}) solo per visibilita'.......ma non e' un bel modo di fare


  5. #5
    mi da cannot resolve simbol {

  6. #6
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    che significa mi da errore nella parentesi graffa???????? :master:
    puoi postare l'errore please?

  7. #7
    si,hai ragione, grazie mille!!!
    infatti mi sembrava strano di non poter richiamare niente dalla classe
    area e riuscire a farlo.....

    :metallica

  8. #8
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    va be' questo e' il codice giusto:
    codice:
    class area{
    double base;
    double height;
    
    
    area(double x,double y){
    base=x;
    height=y;
    }
    
    double calcolo(){
    return base*height;
    }
    }
    class peso extends area{
    double weight;
    
    peso(double x, double y, double z){//mi da un errore qui
    super(x,y);
    weight=z;
    }
    }
    
    
    class demoarea{
    public static void main(String args[]){
    peso es1=new peso(5,6,7);
    System.out.println ("L'area e': "+es1.calcolo());
    System.out.println ("Il peso e': "+es1.weight);
    }
    }

  9. #9
    si, giustsissimo, grazie mille ancora

  10. #10
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    di niente!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.