为什么阿里巴巴建议开发者谨慎使用继承?

简介: 对于很多开发者来说,继承肯定都是不陌生的。但是,继承一定适合所有的场景吗?毫无忌讳的使用继承来做代码扩展真的好吗?

作者 | Hollis

从学习Java的第一天起,我们就知道Java是一种面向对象语言,而学习Java的第二天,我们就知道了面向对象的三大基本特性是:封装、继承、多态。

所以,对于很多开发者来说,继承肯定都是不陌生的。但是,继承一定适合所有的场景吗?毫无忌讳的使用继承来做代码扩展真的好吗?

为什么《阿里巴巴Java开发手册》中有一条规定:谨慎使用继承的方式进行扩展,优先使用组合的方式实现。

image.png

本文就来针对这些问题,简单分析一下。

面向对象的复用技术

每个人在刚刚学习继承的时候都会或多或少的有这样一个印象:继承可以帮助我实现类的复用。所以,很多开发人员在需要复用一些代码的时候会很自然的使用类的继承的方式,因为书上就是这么写的(老师就是这么教的)。但是,其实这样做是不对的。长期大量的使用继承会给代码带来很高的维护成本。

前面提到复用,这里就简单介绍一下面向对象的复用技术。

复用性是面向对象技术带来的很棒的潜在好处之一。如果运用的好的话可以帮助我们节省很多开发时间,提升开发效率。但是,如果被滥用那么就可能产生很多难以维护的代码。

作为一门面向对象开发的语言,代码复用是Java引人注意的功能之一。Java代码的复用有继承,组合以及代理三种具体的表现形式。

来源 | HollisChuang's Blog

相关文章
|
SQL 缓存 Oracle
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
本文介绍了COUNT函数的用法,主要用于统计表行数。主要用法有COUNT(*)、COUNT(字段)和COUNT(1)。
12873 0
为什么阿里巴巴禁止使用 count(列名)或 count(常量)来替代 count(*)
|
4月前
|
Linux API 网络安全
OpenClaw阿里云轻量服务器+本地部署与模型接入实战:千问/Coding Plan配置及常见问题解答
OpenClaw(原Clawdbot)作为2026年主流开源AI智能体运行框架,可实现文本处理、流程自动化、内容生成、信息检索、任务调度等多类工作流能力,在个人使用与小型团队场景中广泛应用。其核心优势在于支持本地私有化部署、云端托管运行,可灵活对接各类大模型接口,实现低成本与高可控的AI能力调用。当前使用者普遍面临两大核心问题:一是云端部署流程不清晰,在服务器选购、系统配置、端口放行、服务自启等环节频繁出错;二是本地环境跨平台兼容性复杂,MacOS、Linux、Windows11系统的依赖安装、环境配置、权限处理存在大量差异点;三是模型API接入配置繁琐,阿里云千问系列模型与免费Coding
634 0
|
物联网
通过微信小程序体验阿里云IoT物联网平台
通过微信小程序体验阿里云IoT物联网平台
10274 0
|
7月前
|
搜索推荐 API 开发者
支持"同款搜索"(精确匹配)和"相似搜索"(模糊匹配)两种模式
图搜接口对图片的一个要求:图片不要大于2兆,600*600像素大小,要符合系统规则,图片尽量清晰, 图片越小越好,处理API返回的错误码和异常情况。
|
4月前
|
人工智能 Linux API
OpenClaw(Clawdbot)阿里云/本地三系统部署+大模型配与LINE集成完整教程
本文完整覆盖2026年OpenClaw阿里云服务器部署、本地MacOS/Linux/Windows11三系统部署、阿里云通义千问与免费Coding Plan大模型配置、LINE全流程接入,包含所有命令行代码与配置文件示例,可直接用于生产环境与个人测试。遵循步骤操作即可实现稳定运行,遇到问题可通过`openclaw doctor`、日志排查、密钥核对等方式快速解决,满足跨平台AI交互需求。
696 7
|
6月前
|
传感器 安全 机器人
2026年酒店场景智能化必备设备深度解析
当前酒店业面临人力失衡与服务升级双重挑战,智能化成为破局关键。通过部署智能机器人、无人配送、智能门锁、清洁设备及能耗管理系统,实现从客房到公区的全场景数字化闭环。2026年,AI与物联网深度融合,推动酒店向高效、安全、个性化与绿色运营转型,全面提升人效与住客体验。(239字)
|
6月前
|
存储 弹性计算 运维
阿里云轻量应用服务器全解析:实例类型、规格性能、使用优势及问题解答FAQ
阿里云轻量应用服务器,专为建站、开发测试等场景设计,具备轻量化、贴近应用、成本可控、可进化四大优势。提供五大实例类型,适配多元需求,200Mbps带宽起步,38元/年起,助力用户高效上云。
|
10月前
|
人工智能 架构师 程序员
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
312 12
学历对程序员的深远影响:2025年的现实与思考-优雅草卓伊凡
|
缓存 自然语言处理 物联网