2010年3月19日金曜日

Javaのインターフェースについて現時点での考え。

UMLによるJavaオブジェクト設計第2版を参考。

インターフェースが無い場合、オブジェクトのプロパティ・メソッドを呼び出す場合、そのオブジェクトが何のクラスから作られたかが重要になる。
class Hello {  
  public static void main(String[] args){    
    World w1;
    World2 w2;

    w1 = new World();
    w1.greeding();
    
    w2 = new World2();
    w2.greeding();
    //Hello World.
    //World2.
  }
}

class World {
  public void greeding(){
    System.out.println("Hello World.");
  }
}

class World2 {
  public void greeding() {
    System.out.println("World2.");
  }
}

これに対して、インターフェースを用いると、同じような時、インターフェースを実装しているかどうかが重要となる。
class Hello {  
  public static void main(String[] args){    
    IHello hello;
    
    hello = new World();
    hello.greeding();
    
    hello = new World2();
    hello.greeding();
    //Hello World.
    //World2.
  }
}

class World implements IHello {
  public void greeding(){
    System.out.println("Hello World.");
  }
}

class World2 implements IHello {
  public void greeding() {
    System.out.println("World2.");
  }
}

0 件のコメント:

コメントを投稿