抽象工廠是爲了解決一個產品族的創建問題
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();
}
}