首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

继承跟组合的关系

2014-01-05 
继承和组合的关系在Java中继承的作用和组合关系的作用能举例说明吗?主要是后者,,,不清楚[解决办法]比如“人

继承和组合的关系

在Java中继承的作用和组合关系的作用能举例说明吗?



主要是后者,,,不清楚
[解决办法]
比如“人”和“男人”,这两个就是继承关系,男人继承自人。
再比如“人”和“手”,这两个就是组合关系。手是人的一部分。
[解决办法]
继承建模 is-a/like-a。
组合建模 has-a
[解决办法]
通俗一点将继承就是使用extends,组合就是在一个类中把另一个类作为成员变量。。。
[解决办法]
一个类使用另一个类就是组合,一个类是另一个类基础上的扩展就是继承。
[解决办法]
要说二者的优缺点的话不大合适,因为两者不能相提并论
虽然继承常被人提起,但是我们应该尽量避免使用它,而是用组合替代之
用继承与否有一个界限:
就是当你必须要使用向上转型时才需要用继承
其中向上转型就是子类向父类的转型,例如:

package pk;

class Base {

}

public class Inhiretance extends Base {
public static void getInh(Base base) {
}
public static void main(String[] args) {
Inhiretance ih = new Inhiretance();
getInh(ih);
}
}

如果你觉得这种用法是不必要的,那你就应该考虑用组合了,因为那是一种更加简单,不容易出错的东西

热点排行