Ciao a tutti, sto cercando di fare un esercizio su Java, che mi chiede di scrivere cosa stamperebbe a output:
So già il risultato che è :codice:public class Frutto { public String toString(){return "Frutto";} public void macedonia(Frutto f){System.out.println(this + " - " + f);} public void confronta(Frutto f){System.out.println("Sono uguali");} } public class Mela extends Frutto { public String toString(){return "Mela";} public void macedonia(Mela f){System.out.println(this + " - " + f);} public void confronta(Mela m){System.out.println("Sono diversi");} } public class Arancia extends Frutto { public String toString(){return "Arancia";} public void macedonia(Arancia f){System.out.println(this + " - " + f);} public void confronta(Arancia a){System.out.println("Non ho idea");} } e si spieghi cosa stamperebbe il seguente metodo main, motivando brevemente le risposte: public class Test { public static void main(String args[]) { Frutto f1, f2; Mela m; Arancia a; f1 = new Mela(); f2 = new Arancia(); m = new Mela(); a = new Arancia(); f1.macedonia(f2); f1.confronta(f2); a.confronta(f2); a.confronta(m); f2 = m; f1.macedonia(f2); a.macedonia(m); a.confronta(a); } }
Ma non capisco sinceramente in base a cosa vengono scelti i vari metodi all'interno delle classi. Chi mi può dare una mano? Grazie in anticipocodice:SOLUZIONE Le stampe sono Mela-Arancia Sono uguali Sono uguali Sono uguali Mela-Mela Arancia-Mela non ho idea

Rispondi quotando
