抽象工厂是为了解决一个产品族的创建问题
public interface Seat {//座椅抽象类
public void type();
}
class LuxurySeat implements Seat{//座椅具体实现类
@Override
public void type() {
// TODO Auto-generated method stub
System.out.println(getClass().getName());
}
}
class LowSeat implements Seat{//座椅具体实现类
@Override
public void type() {
// TODO Auto-generated method stub
System.out.println(getClass().getName());
}
}
public interface Tyre {//轮胎抽象类
public void revolve();
}
class LuxuryTyre implements Tyre{//轮胎实现类
@Override
public void revolve() {
// TODO Auto-generated method stub
System.out.println(getClass().getName());
}
}
class LowTyre implements Tyre{//轮胎实现类
@Override
public void revolve() {
// TODO Auto-generated method stub
System.out.println(getClass().getName());
}
}
public interface AbstraceFactory {//工厂抽象类
public Tyre createTyre();
public Seat createSeat();
}
class LuxuryFactory implements AbstraceFactory{//工厂具体实现类
@Override
public Tyre createTyre() {
// TODO Auto-generated method stub
return new LuxuryTyre();
}
@Override
public Seat createSeat() {
// TODO Auto-generated method stub
return new LuxurySeat();
}
}
class LowFactory implements AbstraceFactory{//工厂具体实现类
@Override
public Tyre createTyre() {
// TODO Auto-generated method stub
return new LowTyre();
}
@Override
public Seat createSeat() {
// TODO Auto-generated method stub
return new LowSeat();
}
}
public class client {//使用类
public static void main(String[] args)
{
LuxuryFactory lf = new LuxuryFactory();
Seat s = lf.createSeat();
Tyre t = lf.createTyre();
s.type();
t.revolve();
LowFactory lw = new LowFactory();
s = lw.createSeat();
t = lw.createTyre();
s.type();
t.revolve();
}
}