content
Mobile phone interface products
Xiaomi product production factory
Huawei product production factory
Mobile phone interface products
// 手机接口产品
public interface IphoneProduct {
void start();
void shutdown();
void callup();
void sendSMS();
}
router product interface
//路由器产品接口
public interface IRouteProduct {
void start();
void shutdown();
void openWife();
void setting();
}
Xiaomi phone
public class XiaomiPhone implements IphoneProduct{
@Override
public void start() {
System.out.println("开启小米手机");
}
@Override
public void shutdown() {
System.out.println("关闭小米手机");
}
@Override
public void callup() {
System.out.println("小米手机打电话");
}
@Override
public void sendSMS() {
System.out.println("小米手机发短息");
}
}
Huawei cell phone
public class HuaweiPhone implements IphoneProduct{
@Override
public void start() {
System.out.println("开启华为手机");
}
@Override
public void shutdown() {
System.out.println("关闭华为手机");
}
@Override
public void callup() {
System.out.println("华为手机打电话");
}
@Override
public void sendSMS() {
System.out.println("华为手机发短息");
}
}
Xiaomi router
public class XiaomiRouter implements IRouteProduct{
@Override
public void start() {
System.out.println("启动小米路由器");
}
@Override
public void shutdown() {
System.out.println("关闭小米路由器");
}
@Override
public void openWife() {
System.out.println("打开小米Wifi");
}
@Override
public void setting() {
System.out.println("设置小米路由器");
}
}
huawei router
public class HuaweiRouter implements IRouteProduct {
@Override
public void start() {
System.out.println("启动华为路由器");
}
@Override
public void shutdown() {
System.out.println("关闭华为路由器");
}
@Override
public void openWife() {
System.out.println("打开华为Wifi");
}
@Override
public void setting() {
System.out.println("设置华为路由器");
}
}
abstract production factory
//抽象生产工厂
public interface IProductFactory {
//生产手机
IphoneProduct iphoneProduct();
//生产路由器
IRouteProduct iRouteProduct();
}
Xiaomi product production factory
//小米产品生产工厂
public class XiaomiFactory implements IProductFactory{
@Override
public IphoneProduct iphoneProduct() {
return new XiaomiPhone();
}
@Override
public IRouteProduct iRouteProduct() {
return new XiaomiRouter();
}
}
Huawei product production factory
//华为产品生产工厂
public class HuaweiFactory implements IProductFactory {
@Override
public IphoneProduct iphoneProduct() {
return new HuaweiPhone();
}
@Override
public IRouteProduct iRouteProduct() {
return new HuaweiRouter();
}
}
client
public class Client {
public static void main(String[] args) {
System.out.println("============小米系列==============");
//小米工厂
XiaomiFactory xiaomiFactory = new XiaomiFactory();
IphoneProduct iphoneProduct = xiaomiFactory.iphoneProduct();
System.out.println("=============小米手机===========");
iphoneProduct.start();
iphoneProduct.shutdown();
iphoneProduct.callup();
iphoneProduct.sendSMS();
IRouteProduct iRouteProduct = xiaomiFactory.iRouteProduct();
System.out.println("=============小米路由===========");
iRouteProduct.start();
iRouteProduct.shutdown();
iRouteProduct.openWife();
iRouteProduct.setting();
System.out.println("============华为系列手机=================");
//华为工厂
HuaweiFactory huaweiFactory = new HuaweiFactory();
iphoneProduct = huaweiFactory.iphoneProduct();
System.out.println("=============华为手机===========");
iphoneProduct.start();
iphoneProduct.shutdown();
iphoneProduct.callup();
iphoneProduct.sendSMS();
iRouteProduct = huaweiFactory.iRouteProduct();
System.out.println("=============华为路由===========");
iRouteProduct.start();
iRouteProduct.shutdown();
iRouteProduct.openWife();
iRouteProduct.setting();
}
}