Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Discussione: uso di extends in java

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    10
    Grazie mille per gli aiuti. Cerco di apprendere bene e i consigli fanno bene.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    E, per il futuro:

    1) Java viene trattato nel forum "Java". Sposterò io la discussione.
    2) Il codice va postato all'interno degli appositi tag CODE, altrimenti perde formattazione ed indentazione e diventa illeggibile


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ora che il codice è indentato si capisce meglio... Perché la classe Peso è interna a Box? O_o

    Per istanziare una classe interna devi partire da quella esterna:

    // file A.java
    codice:
    public class A {
        public class B {
        }
    }
    // file Test.java
    codice:
    public class Test {
        public static void main(String[] args) {
            A a = new A();
            A.B b = a.new B();
        }
    }
    ps: le variabili con le lettere accentate non si possono vedere

    Però è estremamente probabile che tu abbia copiato male l'esempio del libro ^^
    Ultima modifica di Alex'87; 04-04-2014 a 10:46
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    metti la classe Peso in un file suo (Peso.java)

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    10
    codice:
    package BoxDemoE.main;
    
    
    import java.util.Scanner;
    
    
    
    
    public class boxE {
    
    
        public static void main(String[] args) {
            // TODO code application logic here
            String str1="Esempio con Box";
            String str2="Uso di un cubo";
            String arraystr[]={"Array->","di->","stringhe->"};
            Scanner scan=new Scanner(System.in);
            
            System.out.println("La str1 ha una lughezza pari a: "+str1.length());
            System.out.println("Il carattere nella posizione 6 di str1 è: "+str1.charAt(6));
            if(str1.equals(str2))
                    System.out.println("Stringhe uguali");
            else
                System.out.println("Stringhe non uguali");
            
            for(int i=0;i<arraystr.length;i++)
                System.out.println("Stringa["+i+"]"+"con scritta: "+arraystr[i]+"di dimensione "+arraystr[i].length());
            //qui vorrei la dimenisone di ogni singola stringa
            
            System.out.println("Inserisci 4 valori,un colore e il costo per la box:");
            double x=scan.nextInt();
            double y=scan.nextInt();
            double z=scan.nextInt();
            double t=scan.nextInt();
            String s=scan.next();
            double c=scan.nextInt();
            
            //BoxPeso mybox1=new BoxPeso(x,y,z,t,s);
           Spese mybox1=new Spese(x,y,z,t,s,c);
                
            //BoxPeso mybox2=new BoxPeso();
           Spese mybox2=new Spese();
                 
                 
                 System.out.println("Inserisci un valore per il cubo,un suo peso ed un costo: ");
                 double mis=scan.nextInt();
                 double peso=scan.nextInt();
                 double costo=scan.nextInt();
                 //BoxPeso mybox3=new BoxPeso(mis,peso);
                 Spese mybox3=new Spese(mis,peso,costo);
                 
                 System.out.println("Il volume di Box in generale e del suo peso sono rispettivamente: "+mybox1.volume()+" "+mybox1.peso);
                 System.out.println("Colore: "+mybox1.colore);
                 System.out.println("Costo: "+mybox1.costo);
                 System.out.println("Il volume è: "+mybox2.volume()+".....nessuna dimensione specificata");
                 System.out.println("Il volume del cubo è: "+mybox3.volume()+",il suo peso è: "+mybox3.peso);
                 
                 System.out.println("Digita 1) se vuoi fare la copia della Box in generale o 2) per la copia del cubo:");
                 int cl=scan.nextInt();
                 
                 switch(cl){
                 case 1:
                     /*Box clone1=new Box(mybox1);//passaggio oggetti ai metodi
                     System.out.println("Il volume del clone Box generale è: "+clone1.volume());*/
                     Spese clone1 = new Spese(mybox1);
                     System.out.println("Il volume del clone Box generale di colore "+clone1.colore+" con costo "+mybox1.costo+" è: "+clone1.volume());
                     
                     break;
                 case 2:
                     Box clone2=new Box(mybox3);
                     System.out.println("Il volume del clone Cubo scelto è: "+clone2.volume());
                     break;
                 }
                 
                 //mybox.setDim(x,y,z);
                 
             }   
         }
    codice:
    package BoxDemoE.main;
    
    
    
    
    public class Box{
        private double larghezza;
        private double lunghezza;
        private double profondità;
        //private String colore;
    
    
      //costruttore per la creazione del clone, passaggio per oggetti
          Box(Box ob){
              lunghezza=ob.lunghezza;
              larghezza=ob.larghezza;
              profondità=ob.profondità;
              
          }
          //costruttore passaggio per variabili
          Box(double lunghezza,double larghezza,double profondità){
              this.lunghezza=lunghezza;
              this.larghezza=larghezza;
              this.profondità=profondità;
          }
          Box(){
              larghezza=-1;
              lunghezza=-1;
              profondità=-1;
          }
          Box(double mis){
              larghezza=lunghezza=profondità=mis;
          }
          double volume(){
           return larghezza*lunghezza*profondità;
        }
    }
    codice:
    package BoxDemoE.main;
    
    
    class BoxPeso extends Box{
        double peso;
        String colore;
        
        BoxPeso(double lunghezza,double larghezza,double profondità,double peso,String colore){
            super(lunghezza,larghezza,profondità);
            this.peso=peso;
            this.colore=colore;
        }
        //costruttore per il clone generale
        BoxPeso(BoxPeso ob){
            super(ob);
            this.peso=ob.peso;
            this.colore=ob.colore;
        }
       //costruttore per Box senza parametri(-1)
        BoxPeso(){
            super();
            peso=-1;
            }
        //costruttore per il cubo-Box
        BoxPeso(double mis,double peso){
            super(mis);
            this.peso=peso;
        }
    }
    codice:
    package BoxDemoE.main;
    
    
    class Spese extends BoxPeso{
         double costo;
         
         Spese(double lunghezza,double larghezza,double profondità,double peso,String colore,double costo){
                super(lunghezza,larghezza,profondità,peso,colore);
                this.costo=costo;
            }
         //costruttore per il clone
         Spese(Spese ob){
             super(ob);
             this.costo=ob.costo;
         }
         //costruttore per Box senza parametri
         Spese(){
             super();
             costo=-1;
         }
         //costruttore per il cubo_Box
         Spese(double mis,double peso,double costo){
                super(mis,peso);
                this.costo=costo;
            }
         
    }
    Ultima modifica di lars3; 04-04-2014 a 15:18

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    10
    adesso ci sono;ho pure usato super() e fatto 3 classi:Box,BoxPeso e Spese e fare un ulteriore extends.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    10
    ho messo il codice,magari qualcuno può utilizzarlo per capire.....proseguo con lo studio!!!!Grazie mille

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 © 2026 vBulletin Solutions, Inc. All rights reserved.