
public class Store {
   public static void main (String[] args) {

      CashRegister[] cr = new CashRegister[3];
      cr[0] = new CashRegister();
      cr[1] = new FancyCashRegister();
      cr[2] = new ReallyFancyCashRegister();

      // which summarize method is called?
      cr[0].ringUpItem("Bananas",100);
      cr[0].summarize ();

      cr[1].ringUpItem("Beans",3999);
      cr[1].summarize ();

      cr[2].ringUpItem("Elephants",100000);
      cr[2].summarize ();
      
      cr[0] = cr[2];
      cr[0].summarize ();
   }
}

