Esercizio 5
Definisci una interfaccia 'operazione' e le sue classi derivate( sub. div, mul) in modo che da ciascuna sia possibile eseguire la corrispondente operazione aritmetica (di addizione, divisione, moltiplicazione) istanziando un oggetto di classe 'operazione' e due operandi. Realizzare anche, una classe astratta che implementi le funzionalità comuni come la stampa a video del risultato.
class op {
public static void main(String args[]) {
operazione a = new add();
sub s = new sub();
div d= new div();
mul m=new mul();
a.ritorno(3,2);
a = s;
a.ritorno(3,2);
a = d;
a.ritorno(3,2);
a = m;
a.ritorno(3,2);
}//fine main
}//fine class
abstract class stampa{
public void print(int num){System.out.println(num);}
}
interface operazione{
void ritorno(int a, int b);
}
class add extends stampa implements operazione{
protected int n;
public void ritorno(int a,int b) { n=(a+b);print(n); }
}
class sub extends stampa implements operazione{
protected int n;
public void ritorno(int a,int b) { n=(a-b);print(n); }
}
class div extends stampa implements operazione{
protected int n;
public void ritorno(int a,int b) { n=(a/b);print(n); }
}
class mul extends stampa implements operazione{
protected int n;
public void ritorno(int a,int b) { n=(a*b);print(n); }
}