// 人工智能服务接口
public interface Item {
public String name();
public Packing packing();
public float price();
}
// 组件服务的接口
public interface Packing {
public String pack();
}
创建实现 Packing 接口的实体类。(相当于分辨语音识别和图像识别)
// 语音识别
public class Wrapper implements Packing {
@Override
public String pack() {
return "Wrapper";
}
}
// 图像识别
public class Bottle implements Packing {
@Override
public String pack() {
return "Bottle";
}
}
创建实现 Item 接口的抽象类,该类提供了默认的功能(相当于语音服务接口和视频服务接口)
// 语音服务接口
public abstract class Burger implements Item {
@Override
public Packing packing() {
return new Wrapper();
}
@Override
public abstract float price();
}
// 视频服务接口
public abstract class ColdDrink implements Item {
@Override
public Packing packing() {
return new Bottle();
}
@Override
public abstract float price();
}