黑马程序员技术交流社区

标题: 关于继承与组合的问题 [打印本页]

作者: wu_lesley    时间: 2013-11-16 09:28
标题: 关于继承与组合的问题
java中,继承和组合有什么不同啊,他们有什么优缺点,什么时候适合用哪一种?
作者: Michael_xpd    时间: 2013-11-16 10:05
继承表达的是“属于”关系,组合表达的是“包含”关系。我就知道这么多,具体的我也不懂。
作者: 一步一脚印    时间: 2013-11-16 10:25
继承
  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. }
复制代码
区别当然有,继承是基于父类对自己进行扩展。组合是不能用到父类的属性的,只有自己的扩展。用途也不一样。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2