如果上帝是个java程序员,那么他创建万物的时候用一定是建造者模式。
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
//animal 接口
public interface Animal {
public String name() ;
public int weight();
public Run run() ;
}
// run接口
public interface Run {
public String go();
}
// 飞
public class Fly implements Run{
@Override
public String go() {
// TODO Auto-generated method stub
return "fly";
}
}
// 走
public class Walk implements Run{
@Override
public String go() {
// TODO Auto-generated method stub
return "walk";
}
}
// animal 的抽象类 鸟
public abstract class Bird implements Animal{
public abstract int weight();
public Run run() {
return new Fly();
};
}
// 鸟的实体类pica
public class Pica extends Bird{
@Override
public String name() {
// TODO Auto-generated method stub
return "pica pica";
}
@Override
public int weight() {
// TODO Auto-generated method stub
return 1;
}
}
//测试下
public class Test {
public static void main(String[] args) {
Pica pica = new Pica();
System.out.println(pica.name());
System.out.println(pica.weight());
System.out.println(pica.run().go());
}
}
//console结果
pica pica
1
fly