工廠方法

將對象的實現與創建分離,同時解決簡單工廠中每次增加對象需要修改工廠類實現的問題。

缺點:增加了類的複雜度。

public interface car {//對象接口類
	public void run();
}
public class BMW implements car//對象的具體實現
{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println(getClass().getName() + " run");
	}
}
public class BYD implements car//對象的具體實現
{
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println(getClass().getName() + " run");
	}
}
public interface CarFactory {//工廠抽象類
	car createCar();
}
public class BWMFactory implements CarFactory {//工廠的具體實現
	@Override
	public car createCar() {
		// TODO Auto-generated method stub
		return new BMW();
	}
}
public class BYDFactory implements CarFactory {//工廠的具體實現
	@Override
	public car createCar() {
		// TODO Auto-generated method stub
		return new BMW();
	}
}
public class client {//使用類
	public static void main(String[] main){
		car byd = new BYDFactory().createCar();
		car bmw = new BWMFactory().createCar();	
		byd.run();
		bmw.run();
	}
}

 

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