2010年8月5日木曜日

継承とインターフェイスの実装をやってみた、確かに便利です。

■親クラスのCarクラスに基本性能でガソリン量とナンバーを定義して、子クラスのF1クラスにターボとコースのを定義しています。追加で、
今回は、私がインターフェイスの動きを見る為に、インテーフェイスにのターボとコースの2つのインターフェイスを定義し、子クラスのF1クラスに実装しています。
*インターフェイスのtabを実装したクラスはshowTb()を必ず実装し、
*インターフェイスのcosを実装したクラスはcoss()を必ず実装し、大規模開発時にこのような
テンプレート的な物があると大変便利です。
interface tab
{
    int a = 777;
    void showTb();//ターボ力表示、実装したクラスはオーバーライドするメソッドが要ります
}

interface cos//コース表示メソッド
{
    void coss();
}
//■■■■■■Carクラス、スーパー■■■■■
class Car
{
    private int gas;
    private int num;
   
    public Car(int g,int n)
    {
        gas = g;
        num = n;
    }
    //*******ガス量:ナンバーメソッド******
    public void show()
    {
        System.out.println("ガス量:" + gas + "ナンバー:" + num);
    }

}
//■■■■■■F1クラス、サブ■■■■■
class F1 extends Car implements tab,cos//インターフェイスの実行
{
    String korsu;//F1のコース
    int tab = 10;//ターボに使う値
    public F1(String k,int g,int n)
    {
        super(g,n);//基本の値
        korsu = k;//コースの値
    }
    //*******コース名****
    public void showKorsu()
    {
        System.out.println("コース:" + korsu);
    }
   
    //******ターボ*****
    public void showTb()//インターフェイスにオーバーライドされるメソッド
    {
        System.out.println("ターボ:" + tab*a);
    }
   
    public void coss()//インターフェイスcosのcoss()メソッドにオーバーライドされるメソッド
    {
        System.out.println("コース:" + korsu);
    }
}

//■■■■■■メインメソッド■■■■■
class SapleInterface
{
    public static void main(String args[])
    {
        F1 f1 = new F1("プロス",100,7);
        f1.show();
        f1.showTb();//インターフェイスのメソッド実行、
        f1.showKorsu();//普通のメソッド
        f1.coss();//インターフェイスのメソッド実行、
        System.out.println(f1.a);//インターフェイスの定数を呼び出す事も出来る、
    }
}
■■■■■■■■実行結果■■■■■■■■■■
ガス量:100ナンバー:7
ターボ:7770
コース:プロス
コース:プロス
777

0 件のコメント:

コメントを投稿