Dynamic Binding
in javaの利点を知りたいです。
public class Animal {
public String type = "mammal";
public void show() {
System.out.println("The animal is a: " + type);
}
}
public class Dog extends Animal {
public String type;
public Dog(String type){
this.type = type;
}
public void show() {
System.out.println("The dog is a: " + type);
}
}
public static void main(String[] args) {
Animal doggie = new Dog("daschund");
doggie.show(); // "The dog is a: daschund" (dynamic binding)
System.out.println("The type is: " + doggie.type); //"The type is: mammal" (static binding)
}
継承戦略だと思います。しかし、Dynamic Binding のように呼び出す人もいます。だからこそ、何がおかしいのだろうと思います。