Il sottotipo di Adder collegato a Poly
public class PolyAdder implements Adder {
private Poly z; // il Poly zero
public PolyAdder ( ) {z = new Poly(); }
public Object add (Object x, Object y) throws NullPointerException, ClassCastException {
if (x == null || y == null)
throw new NullPointerException ("PolyAdder.add");
return ((Poly) x).add((Poly) y); }
public Object sub (Object x, Object y) throws NullPointerException, ClassCastException {
if (x == null || y == null)
throw new NullPointerException ("PolyAdder.sub");
return ((Poly) x).sub((Poly) y); }
public Object zero ( ) { return z; }
abbiamo messo lo zero nella rep
- potevamo generarne uno ogni volta che ci serviva lo zero