Java中组合与继承的区别联系以及两者的使用场景
1.联系
组合与继承都可以实现代码的复用
2.区别
1.继承是一种联结类与类的层次模型;组合体现的是整体与部分、拥有的关系。
2.继承是一种is-a 关系,组合是一种has-a关系。
3.组合不破坏封装,类之间相对独立;继承破坏封装,子类缺乏独立性。
4.组合支持动态组合;继承不支持动态继承,子类只能选择一个父类。
3.使用场景
当想用原类型作为新类型的内部实现的时候,选择组合;
当想重用内部实现和重用接口的时候,选择继承。
4.一般情况
在同样的条件下,优先使用组合;
组合更加安全、简单、灵活、高效。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)