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

bigswallow 2017-10-18 21:49 原文

1,定义一个接口

public interface Phone {
public void Call();
}

2,写两个类实现此接口

public class Xiaomi implements Phone{


public void Call() {
System.out.println("小米为发烧而生");

}

}

public class IPhone implements Phone{

@Override
public void Call() {
System.out.println("使用苹果打电话");

}

}

3,定义一个类专门生产手机的类,相当于工厂

public class PhoneFactory {
// 创建一个方法用来生产手机,传入什么类型的手机就返回什么

public Phone getPhone(String phone){

if (phone.equals("XiaoMi")) {
Phone xiaomi=new Xiaomi();
return xiaomi;
}
if (phone.equals("IPhone")) {
return new IPhone();
}

return null;

}
}

4,定义一个测试类 进行测试即可

public class Test {
public static void main(String[] args) {

// 创建一个工厂类
PhoneFactory factory = new PhoneFactory();

// 使用工厂类 "生产"一个 IPhone
// "向下 转型"
IPhone iphone8 = (IPhone)factory.getPhone("IPhone");
iphone8.Call();

Phone iphone8P = factory.getPhone("IPhone");
iphone8P.Call();

Phone xiaomi = factory.getPhone("XiaoMi");
xiaomi.Call();
}
}

推荐阅读