java中“合成”与“继承”谁能详细给小弟讲解下啊!

myhome543256202 2008-03-24 09:51:36
java中“合成”与“继承”谁能详细给小弟讲解下啊!
怎么用?什么地方用?各自的特征?最好能配上个例子!
先感谢了,希望大侠们能解除小弟的疑惑!
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
madfrug 2008-03-24
  • 打赏
  • 举报
回复
简单说合成表示的是 整体与部分的关系,而继承表示的是 父类与子类的关系或一般与特殊的关系。仔细体会,两者区别还是很大的!
Dan1980 2008-03-24
  • 打赏
  • 举报
回复
合成(Composition),也叫“组合”,一个类包含另一个类类型的成员。如,汽车类包含轮子类的成员:

class Car {
private Wheel[] wheels;
}
class Wheel {
}

继承(Inheritance),一个类在另一个类的基础上扩展或重新实现部分功能,这时,这个类叫另一个类的派生类。如,一般手机与拍照手机,后者扩展了前者的功能;又如,电脑与笔记本电脑,后者重新实现了前者的部分功能。

组合和继承各有用处,需根据具体情况具体分析。当事物之间有明显的包含关系,通常称Has-A关系,用组合;当事物之间有一般到具体的关系,通常称Is-A,用继承。大部分情况下,这两种关系的区别还是很明显的,很容易判别。但也有特殊情况,如表示点的Point类,和表示线段的Line类,Line可以包含两个Point作为端点(组合),也可以在Point的基础上再扩展一个点(继承),这时可根据实现的复杂度来取舍。

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧