继承和组合的关系
在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);
}
}