首页 > 技术文章 > 设计模式之工厂方法模式

cbxBlog 2018-05-31 21:00 原文

定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。

代码实现

 

public interface Car {
    public void run();
}

 

public class Audi implements Car {
    public void run() {
        System.out.println("奥迪在跑!");
    }
}
public class Byd implements Car {
    @Override
    public void run() {
        System.out.println("比亚迪再跑");
    }
}
public interface CarFactory {
        Car createCar();
}
public class AudiFactory implements CarFactory{
    public Car createCar() {
        return new Audi();
    }
}
public class BydFactory implements CarFactory{
    public Car createCar() {
        return new Byd();
    }
}
public class FactoryMethodTest {
    @Test
    public void test(){
        Car audi = new AudiFactory().createCar();
        audi.run();
        System.out.println("-----------");
        Car byd = new BydFactory().createCar();
        byd.run();
    }
}

 

推荐阅读