A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wu_lesley 中级黑马   /  2013-11-16 09:28  /  1254 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中,继承和组合有什么不同啊,他们有什么优缺点,什么时候适合用哪一种?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

2 个回复

倒序浏览
继承表达的是“属于”关系,组合表达的是“包含”关系。我就知道这么多,具体的我也不懂。
回复 使用道具 举报
继承
  1. class Person {
  2.         String name;
  3.         int age;
  4.        
  5. }
  6. class Teacher extends Person{
  7.         //这个类什么都不做,继承Person,但是他共享Person类的属性
  8. }
  9. class Student extends Person{
  10.         //Student类也类似。
  11.        
  12. }
复制代码
组合:
  1. class Person {
  2.         String name;
  3.         int age;
  4.         Teacher teacher;//这样就是组合,在Person类中定义了一个Teacher对象的属性。
  5.         Student student;//同上
  6. }
复制代码
区别当然有,继承是基于父类对自己进行扩展。组合是不能用到父类的属性的,只有自己的扩展。用途也不一样。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马