/*  オブジェクト指向サンプル
    継承
*/  
import java.applet.Applet;
import java.awt.Graphics;
import java.awt.Color;

public class xSmpObj06 extends Applet {
    
    xPoint  xa = new xPoint (  0,   0);
    xPoint  xb = new xPoint (100, 100);
    xPoint  xc = new xPoint (200, 100);
    xCPoint xd = new xCPoint(200, 200);
    
    public void paint(Graphics xg){
        xa.tunagu(xg, xb);
        xc.setFutosa(10);
        xc.tunagu(xg, xb);
        xd.setColor(xg, Color.red);
        xd.tunagu(xg, xb);
    }
}

// 継承
class xCPoint extends xPoint{
    
    public xCPoint(int x, int y){
        super(x, y); // 親クラスのコンストラクタ呼び出し
    }

    public void setColor(Graphics xg, Color xc){
        xg.setColor(xc);
    }   
}

class xPoint{

    // インスタンス変数
    private int ix, iy, ir;
    
    // コンストラクタ    
    public xPoint(int x, int y){
        ix = x;
        iy = y;
        ir = 3;
    }

    // アクセスメソッド     
    public void setFutosa(int r){
        ir = r;
    }
   
    //メソッド
    public void tunagu(Graphics xg, xPoint xaite){
        xg.fillOval(ix-ir, iy-ir, ir*2, ir*2);
        xg.fillOval(xaite.ix-ir, xaite.iy - ir, ir*2, ir*2);
        for(int i=ir; i>=-ir; i--){
            xg.drawLine(ix, iy+i, xaite.ix, xaite.iy+i);
        }     
    }
}

