4要素:1抽象的产品 2具体化的产品 3抽象工厂类 4具体工厂类 5---测试调用
1抽象的产品
public interface PhoneInterface {
void getPhoneName();
}
2具体化的产品
@Slf4j
public class OpPhone implements PhoneInterface{
@Override
public void getPhoneName() {
log.info("取得oppo手机");
}
}
@Slf4j
public class XmPhone implements PhoneInterface {
@Override
public void getPhoneName() {
log.info("取得小米手机");
}
}
3抽象工厂类
public interface Factory {
PhoneInterface getPhone();
}
4具体工厂类
public class XmFactroy implements Factory{
@Override
public PhoneInterface getPhone() {
return new XmPhone();
}
}
public class OpFactory implements Factory{
@Override
public PhoneInterface getPhone() {
return new OpPhone();
}
}
5测试调用
public class TestClass2 {
public static void main(String[] args) {
PhoneInterface opPhone = new OpFactory().getPhone();
PhoneInterface xmPhone = new XmFactroy().getPhone();
opPhone.getPhoneName();
xmPhone.getPhoneName();
}
}