抽象工廠

抽象工廠是爲了解決一個產品族的創建問題

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();
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章