import java.awt.Color;
class Punkt {
    private int x;
    private int y;
    Punkt() {}
    Punkt(int pX, int pY) { x = pX; y = pY; }
    Punkt(Punkt p) { x = p.x; y = p.y; }
    int getX () { return x; }
    int getY () { return y; }

    void verschieben (int dx, int dy) { x += dx;  y += dy;}

    void verschieben (int delta) { verschieben(delta, delta); }

    public String toString(){ return "X: " + x + "  Y: " + y;}
    }

class GraPunkt extends Punkt {
    private boolean sichtbar = false;
    private int dicke = 1;
    private Color farbe = Color.black;
    GraPunkt() {}
    GraPunkt(int pX, int pY) { super(pX, pY); }
    GraPunkt(int pX, int pY, boolean pS, int pD, Color pF) { 
    	this(pX, pY); 
    	sichtbar = pS;
    	dicke    = pD;
    	farbe    = pF; 
        }
    GraPunkt(GraPunkt P) { 
    	super(P); 
    	sichtbar = P.sichtbar;
    	dicke = P.dicke;
    	farbe = P.farbe;
    	}
    void malen () { System.out.println(" Malen eines Punktes.");   }
    void loeschen () { System.out.println(" Loeschen eines Punktes.");   }
    void verschieben (int DX, int DY) {
         loeschen ();
         super.verschieben(DX, DY);
         malen ();
         }

    public String toString(){
         String s1 = sichtbar ? " sichtbar " : " nicht sichtbar ";
         String s2 = " dicke: " + dicke;
         String s3 = " farbe: " + farbe;
         return super.toString() + s1 + s2 + s3;
         };
    }


