开发者社区> 问答> 正文

在java语言里,组合和继承,我应该怎么选?

在java语言里,组合和继承,我应该怎么选?

展开
收起
开发者小助手_LS 2021-10-21 12:24:52 330 0
1 条回答
写回答
取消 提交回答
  • 相信很多人都知道面向对象中有一个比较重要的原则『多用组合、少用继承』或者说『组合优于继承』。因为组合确实比继承更加灵活,也更有助于代码维护。

    所以,建议在同样可行的情况下,优先使用组合而不是继承。因为组合更安全,更简单,更灵活,更高效。

    注意,并不是说继承就一点用都没有了,前面说的是【在同样可行的情况下】。有一些场景还是需要使用继承的,或者是更适合使用继承。

    继承要慎用,其使用场合仅限于你确信使用该技术有效的情况。一个判断方法是,问一问自己是否需要从新类向基类进行向上转型。如果是必须的,则继承是必要的。反之则应该好好考虑是否需要继承。

    只有当子类真正是超类的子类型时,才适合用继承。换句话说,对于两个类 A 和 B, 只有当两者之间确实存在 is-a 关系的时候,类 B 才应该继承类 A。

    资料来源:《Java工程师成神之路(基础篇)》,链接:https://developer.aliyun.com/topic/download?id=923

    2021-10-21 13:06:54
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载