请教工厂方法的问题。
我看了天极网http://www.yesky.com/20011128/207301_2.shtml里工厂方法的例子,对其有点疑问,工厂方法确实能够产生很多实例,但这些实例的很多特性都被淹没了,如何使用这些实例呢?
apple为什么要实现FruitIF和PlantIF两个接口?
Fruit和Veggie不都是Plant的一个种类吗?
我认为这样做较妥当
interface PlantIF{
void grow();
void harvest();
void plant();
}
interface FruitIF extends PlantIF{}
interface VeggieIF extends PlantIF{
void pesticideDust();
}
但这样做的结果是用工厂方法产生的apple和tomato只有PlantIF的特征,如何获得tomato.pesticideDust()??