Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/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
Java 在同一个类中同时使用继承和组合?_Java_Oop_Class_Inheritance_Composition - Fatal编程技术网

Java 在同一个类中同时使用继承和组合?

Java 在同一个类中同时使用继承和组合?,java,oop,class,inheritance,composition,Java,Oop,Class,Inheritance,Composition,我知道当存在is-a关系时使用继承,当存在has-a关系时使用组合的规则,但是这两个是相互排斥的/相互替换的,还是应该在同一类中使用这两个 我在谷歌上搜索了很多,但只找到了解释何时使用它们的文章,而不是同时使用两者的文章 谢谢它们并不是相互排斥的。示例:船和帆船帆船是一艘船,但它有一艘帆,其他船可能有也可能没有。它们并不相互排斥。示例:船和帆船帆船是-a船,但它有-a帆,其他船可能有也可能没有。模式是一个经典示例,其中装饰类由同一类的装饰对象的实例组成,并扩展/实现同一类。模式是一个经典示例,其

我知道当存在is-a关系时使用继承,当存在has-a关系时使用组合的规则,但是这两个是相互排斥的/相互替换的,还是应该在同一类中使用这两个

我在谷歌上搜索了很多,但只找到了解释何时使用它们的文章,而不是同时使用两者的文章

谢谢

它们并不是相互排斥的。示例:
帆船
<代码>帆船是一艘
,但它有一艘
,其他
可能有也可能没有。

它们并不相互排斥。示例:
帆船
<代码>帆船是-a
,但它有-a
,其他
船可能有也可能没有。

模式是一个经典示例,其中装饰类由同一类的装饰对象的实例组成,并扩展/实现同一类。

模式是一个经典示例,其中装饰类由同一类的装饰对象的实例组成类并扩展/实现同一个类