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
Design patterns 继承的复合类_Design Patterns_Class Design_Composite_Object Oriented Analysis_Anti Patterns - Fatal编程技术网

Design patterns 继承的复合类

Design patterns 继承的复合类,design-patterns,class-design,composite,object-oriented-analysis,anti-patterns,Design Patterns,Class Design,Composite,Object Oriented Analysis,Anti Patterns,我正在研究一个模式,想知道这是否是一个好的实践——我将类a作为超级类,而类B和C是子类(继承自类a)。我想建立一个关系,因为“B是一个复合类,可以将a的类型作为属性”(即B可以有a的嵌套类型)。这是我可以建立的有效关系吗?您在这段关系中是否发现了任何问题是的,确实有效。Child扩展父类,并且具有父类实例的子类是有效的设计。如果B对a有一个引用,那么生成的对象结构就是一个对象列表,就像您看到的装饰器模式一样。如果B引用了As的组合(如数组),则得到了复合模式的典型树结构。是的,它确实有效。Chi

我正在研究一个模式,想知道这是否是一个好的实践——我将类a作为超级类,而类B和C是子类(继承自类a)。我想建立一个关系,因为“B是一个复合类,可以将a的类型作为属性”(即B可以有a的嵌套类型)。这是我可以建立的有效关系吗?您在这段关系中是否发现了任何问题

是的,确实有效。Child扩展父类,并且具有父类实例的子类是有效的设计。如果B对a有一个引用,那么生成的对象结构就是一个对象列表,就像您看到的装饰器模式一样。如果B引用了As的组合(如数组),则得到了复合模式的典型树结构。是的,它确实有效。Child扩展父类,并且具有父类实例的子类是有效的设计。如果B对a有一个引用,那么生成的对象结构就是一个对象列表,就像您看到的装饰器模式一样。如果B引用了As的组合(如数组),则得到复合模式的典型树结构。