
如果要创建一个类型的实例,该实例的类型可能会因非本地条件而异,请使用“
抽象工厂”(如“设计模式”书中所述)。
以最简单的形式:
interface AnimalFactory { Animal createAnimal();}class DogFactory implements AnimalFactory { public Dog createAnimal() { return new Dog(); }}还要注意,引用的静态类型与对象的动态类型之间存在差异。即使您有
Animal引用,但如果原始对象是a
Dog,它的行为仍然类似于a
Dog。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)