home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-04-22 | 1.7 KB | 80 lines | [TEXT/CWIE] |
- /* -------------------------------------------------------------
- This applet uses a small class hierarchy to illustrate how to
- define abstract classes, superclasses, subclasses, and private
- and protected variables.
-
- Java's classes: Applet (applet)
- System (lang)
- Color (awt)
-
- Custom classes: AccessApplet
- Shape
- Circle
- Square
-
- ------------------------------------------------------------- */
- import java.awt.Color;
-
- public class AccessApplet extends java.applet.Applet {
-
- public void init() {
-
- Circle c = new Circle();
- Square s = new Square();
-
- c.setColor(Color.blue);
- s.setColor(Color.black);
-
- c.x = 50;
- c.y = 60;
-
- s.x = 100;
- s.y = 200;
-
- c.draw();
- s.draw();
-
- }
-
- }
-
- /** Shapes provide common characteristics for the circle and square. */
- abstract class Shape {
- static protected final int radius = 20;
-
- private Color color;
- int x;
- int y;
-
- abstract void draw();
-
- void setColor(Color color) {
- if (color == Color.black)
- this.color = Color.white;
- else
- this.color = color;
- }
-
- Color getColor() {
- return color;
- }
-
- }
-
- /** Draws and maintains circle information. */
- class Circle extends Shape {
- void draw() {
- System.out.println("Circle: radius = " + radius);
- System.out.println("Circle: color = " + getColor().toString());
- }
- }
-
- /** Draws and maintains square information. */
- class Square extends Shape{
- void draw() {
- System.out.println("Square: radius = " + radius);
- System.out.println("Square: color = " + getColor().toString());
- }
- }
-
-