edutecnica

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); }
}