标签:
下面是查询动物名字的程序。
下面程序依赖于具体的实现。
下面程序是查询狗的名字。如果想查询猫或者其它动物的名字呢,则需要改动displayName()方法,怎样做才让displayName()方法不需要改动? 利用依赖倒置即依赖抽象解决这问题。
通过在程序声明接口对象,某一类实现的变动,不会影响该程序。
public class Demo1{
public static void main(String arsg[]){
Dog dog = new Dog("BOBO");
displayName(dog);
}
public static void displayName(Dog dog){
System.out.println("它名字是:"+dog.getName());
}
}
public class Demo2{
public static void main(String arsg[]){
Dog dog = new Dog("BOBO");
displayName(dog);
}
public static void displayName(Animal animal){
System.out.println("它名字是:"+dog.getName());
}
}
interface class Animal {
displayName();
}
class Dog {
private Long id;
private String name;
public Dog(String name){
this.name = name;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
标签:
原文地址:http://www.cnblogs.com/chenweichu/p/5653873.html