黑马程序员技术交流社区

标题: 关于组合和继承 [打印本页]

作者: 迎着太阳    时间: 2014-12-13 23:50
标题: 关于组合和继承
两者有什么差别吗?
作者: lnyg1992    时间: 2014-12-14 08:25
组合是A类拥有B类,继承是父类和子类的关系,如A类是B类
作者: HONG321    时间: 2014-12-14 08:44
继承的使用场合(继承与组合)

1 继承表示的是A类属于B类,即A:B,或者A is B。当A是B的子集时,可以采用继承的方式。比如狗是动物的一种,Dog is Animal,即可声明为@interface Dog:Animal

2 当A类不是B类的子集时,但是B类又需要拥有A类的部分属性或方法,这时可以考虑使用组合的方式。组合表示的是B类拥有A类,即B has A。如学生类拥有成绩类,即可用组合的方式。具体做法为声明成绩类和学生类。在学生类中声明一个成绩类的成员变量,即表示学生类拥有成绩类了。
作者: 迎着太阳    时间: 2014-12-14 16:59
lnyg1992 发表于 2014-12-14 08:25
组合是A类拥有B类,继承是父类和子类的关系,如A类是B类

具体用法是一样的吧?
作者: 迎着太阳    时间: 2014-12-14 17:01
HONG321 发表于 2014-12-14 08:44
继承的使用场合(继承与组合)

1 继承表示的是A类属于B类,即A:B,或者A is B。当A是B的子集时,可以采用继承 ...

谢谢你的解答。它们的思想是相同的吧?
作者: 迎着太阳    时间: 2014-12-14 17:03
HONG321 发表于 2014-12-14 08:44
继承的使用场合(继承与组合)

1 继承表示的是A类属于B类,即A:B,或者A is B。当A是B的子集时,可以采用继承 ...

谢谢你的解答。它们的思想是相同的吧?
作者: HONG321    时间: 2014-12-14 17:37
迎着太阳 发表于 2014-12-14 17:03
谢谢你的解答。它们的思想是相同的吧?

思想是不一样的,用法也是不一样的。你结合李明杰讲解继承和组合的视频比较一下
作者: 迎着太阳    时间: 2014-12-14 19:36
HONG321 发表于 2014-12-14 17:37
思想是不一样的,用法也是不一样的。你结合李明杰讲解继承和组合的视频比较一下 ...

谢谢哈,我会再去看看的
作者: comeprince    时间: 2014-12-14 21:50
继承是继承父类的分支,子类要是父类的体系中的,组合不一定一定要是父类的品种
作者: arui12580    时间: 2014-12-14 22:59
组合是你有,继承是你是




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