Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 工厂方法与并行类层次结构_Oop_Design Patterns - Fatal编程技术网

Oop 工厂方法与并行类层次结构

Oop 工厂方法与并行类层次结构,oop,design-patterns,Oop,Design Patterns,狗是一种动物。 动物有房子。 狗屋是一所房子 工厂方法确保了Dog's House是一个狗屋,但它仍然被键入为House,我需要将其键入为DogHouse 有很多方法可以解决这个问题,但我想知道是否有一个标准的方法。我在目标C中写作。泛型。 例如,在Java中: 界面动物{ T getHouse(); } 狗类动物{ 私人最终狗舍dh=新狗舍(); @凌驾 公共狗屋{ 返回dh; } } 不错!目标C没有泛型,但可以使用instancetype近似。

狗是一种动物。 动物有房子。 狗屋是一所房子

工厂方法确保了Dog's House是一个狗屋,但它仍然被键入为House,我需要将其键入为DogHouse

有很多方法可以解决这个问题,但我想知道是否有一个标准的方法。我在目标C中写作。

泛型。
例如,在Java中:

界面动物{ T getHouse(); } 狗类动物{ 私人最终狗舍dh=新狗舍(); @凌驾 公共狗屋{ 返回dh; } }
不错!目标C没有泛型,但可以使用instancetype近似。