interface Product{
public void createProduct();
}
interface Keyboard extends Product{
}
interface Mouse extends Product{}
class LeisheMouse implements Mouse{
@Override
public void createProduct(){
System.out.println("雷蛇鼠标");
}
}
class LeisheKeyboard implements Keyboard{
@Override
public void createProduct(){
System.out.println("雷蛇键盘");
}
}
class LuojiKeyboard implements Keyboard{
@Override
public void createProduct(){
System.out.println("罗技键盘");
}
}
class LuojiMouse implements Mouse{
@Override
public void createProduct(){
System.out.println("罗技鼠标");
}
}
interface Factory{
public Keyboard createKeyboard();
public Mouse createMouse();
//public abstract Mouse Luoji();
}
class LeisheFactory implements Factory{
@Override
public Keyboard createKeyboard(){
return new LeisheKeyboard();
}
@Override
public Mouse createMouse(){
return new LeisheMouse();
}
}
class LuojiFactory implements Factory{
@Override
public Keyboard createKeyboard(){
return new LuojiKeyboard();
}
@Override
public Mouse createMouse(){
return new LuojiMouse();
}
}
public class Demo{
public static void main(String[] argv){
System.out.println("hh");
Factory f=new LeisheFactory();
f.createKeyboard().createProduct();
f.createMouse().createProduct();
Factory ff=new LuojiFactory();
ff.createKeyboard().createProduct();
ff.createMouse().createProduct();
}
}
思路:1.创建我们抽象产品类
2.基于抽象产品类,写产品的抽象层
3.具体实现每个抽象产品的需求
我们需要一个工厂类来封装我们每一个产品族
4.创建一个抽象工厂类来抽象出来我们所需要构建的每一个产品族
根据抽象出来的产品族我们构建出具体的产品
5.实现抽象工厂的每一个接口,让我们得以返回我们需要的产品