Implementare parzialmente un interfaccia

di Anonimizzato8544 il
3 risposte
Ragazzi sto scrivendo un programma e mi chiedevo se è possibile implementare solo una parte dell'interfaccia ...è possibile??

3 Risposte

  • broke31 ha scritto:


    ragazzi sto scrivendo un programma e mi chiedevo se è possibile implementare solo una parte dell'interfaccia ...è possibile??
    Intendi interfaccia "grafica" o intendi le interface?
    Se intendi una interface che ha diversi metodi, e in una classe vuoi implementarne solo alcuni, puoi farlo ma la classe deve essere astratta.
    Se una classe è "concreta" (non abstract) qualunque cosa "astratta" che eredita va concretizzata.
  • Umh,diciamo chiaro, sono argomenti non ancora trattati a lezione queste delle astrazioni, quindi immagino che per adesso dovo aptare così mi sono creato più interface e ho messo in ogni interface solo alcuni metodi, in sostanza ho separato l'interface principale in varie sotto interface xd... Adesso però mi sorge un altro strano problema se vuoi dai un occhio a questo sorgente...

    
    
    	ArrayList <country>  insiemeCountry=new ArrayList<country>();
              	country nuovaC;
    
    nuovaC= new country("italia",4);
    			insiemeCountry.add( nuovaC);
    			
    			nuovaC.setEta(3);
    			nuovaC.setNome("Spagna");
    			insiemeCountry.add(nuovaC);
    			
    			
    			nuovaC.setEta(2);
    			nuovaC.setNome("portogallo");
    			insiemeCountry.add(nuovaC);
    			
    			
    			
    			nuovaC.setEta(1);
    			nuovaC.setNome("belgio");
    			insiemeCountry.add(nuovaC);
    			
    
    			for(int i=0;i<insiemeCountry.size();i++)
    			{
    				
    				System.out.println(""+insiemeCountry.get(i).getEta());
    				
    			}
    
    
    

    questo codice stampa 4 volte il numero 1... ma non ho capito perché io mi aspettavo stampasse i numeri correlati ad ogni nazione visto che l'add aggiunge a fine arrayList e non sovrascrive..
  • broke31 ha scritto:


    questo codice stampa 4 volte il numero 1... ma non ho capito perché io mi aspettavo stampasse i numeri correlati ad ogni nazione visto che l'add aggiunge a fine arrayList e non sovrascrive..
    Perché stai (ri)usando lo stesso oggetto country, cambiandone solo lo stato di volta in volta. Il tuo insiemeCountry non contiene 4 reference che fanno riferimento a 4 oggetti country differenti .... contiene 4 riferimenti allo stesso identico oggetto.

    Se vuoi oggetti country distinti, devi istanziarne altri.

    P.S. nuovo argomento dovrebbe andare in nuova discussione.
Devi accedere o registrarti per scrivere nel forum
3 risposte