/* * Just a main program for testing our objects * this time exploiting polymorphism * Note that the other *.java files don't change */ class Tester { // The main program public static void main (String args[]) { /* * Data definitions */ Shape s1, s2, s3; //*1 Declare as Shape not Rect or Circle /* * And now, instantiate the objects */ s1 = new Rect (10, 10, 50, 50); //*2 Shape var can hold a Rect or Circle s2 = new Rect (80, 10, 10, 100); //*2 s3 = new Circle (35, 90, 10); //*2 /* * "Draw" them */ s1.draw (); //*3 Can call irrespective of subclass s2.draw (); //*3 s3.draw (); //*3 /* * Compute and print total area */ System.out.println ("Total area = " + (s1.area() + s2.area() + s3.area())); //*3 } }