// JRobo    Example 7
//          Demonstrates extended XJRobo class which adds 
//          name & dateOfBirth properties to basic JRobo.
// Note:    Same as example 4, except creates XJRobos not JRobos
//          Also demo further extension in XXJRobo which adds rect
// Author:  David 5/9/99

import java.awt.*;
import java.applet.*;
import java.util.Date;

public class JRoboTest extends Applet
{

    public void paint( Graphics g )
    {
        XJRobo aRobo = new XJRobo( g, "Ali" );
        XJRobo robby = new XJRobo( g, "Robby Robo" );

        aRobo.sayName(  );  // displays "Ali" on Java console       
        aRobo.setName( "Mehmet" );
        aRobo.sayName(  );  // displays "Mehmet" on Java console

        Date manufactured = robby.getDateOfBirth(  );
        String robbysName = robby.getName(  );
        System.out.println( robbysName + " was built on " + manufactured );
        
        // Demo XXJRobo rect drawing & use of typecast...

        // aRobo.rect( 250, 100 );      // won't compile

        // ( (XXJRobo) aRobo).rect( 100, 100);  // compiles, but won't run

    aRobo = new XXJRobo( g, "XX-Ali");
    ( (XXJRobo) aRobo).rect( 100, 100); // compiles & runs ok!

    }

} // end JRoboTest class