Java 接口工厂案例
发布时间:2020-12-15 05:33:31 所属栏目:Java 来源:网络整理
导读:接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式。这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成接口的某个实现的对象。 代码: interface Cycle {void name();}interface CycleFactor
接口是实现多重继承的途径,而生成遵循某个接口的对象的典型方式就是工厂方法设计模式。这与直接调用构造器不同,我们在工厂对象上调用的是创建方法,而该工厂对象将生成接口的某个实现的对象。 代码: interface Cycle { void name(); } interface CycleFactory { Cycle getCycle(); } class Unicycle implements Cycle { @Override public void name() { // TODO Auto-generated method stub System.out.println("Unicycle!"); } } class UnicycleFactory implements CycleFactory { @Override public Cycle getCycle() { // TODO Auto-generated method stub return new Unicycle(); } } class Bicycle implements Cycle { @Override public void name() { // TODO Auto-generated method stub System.out.println("Bicycle!"); } } class BicycleFactory implements CycleFactory { @Override public Cycle getCycle() { // TODO Auto-generated method stub return new Bicycle(); } } class Tricycle implements Cycle { @Override public void name() { // TODO Auto-generated method stub System.out.println("Tricycle!"); } } class TricycleFactory implements CycleFactory { @Override public Cycle getCycle() { // TODO Auto-generated method stub return new Tricycle(); } } public class Cycles { public static void getCycles(CycleFactory factory) { Cycle c = factory.getCycle(); c.name(); } public static void main(String[] args) { getCycles(new UnicycleFactory()); getCycles(new BicycleFactory()); getCycles(new TricycleFactory()); } } 通过这种方式,我们就可以创建不同的自行车来复用这段代码。 来自 ----- Thinking For Java. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |