go、rust去掉了继承

为什么go、rust去掉了继承?只要你阅读过很多Java开源系统的源代码就明白。尤其是调试时,一层一层的进入基类,痛苦万分。一个类的功能只看它自己,是不知道有那些功能的,因为它老子、它爷爷的功能都是起作用的。在很多开源系统里,都涉及了很多继承关系,读起来很费劲,尤其是它可能有多个老子,老子也可能有多个爷爷,复杂的关系网很让人崩溃。

但是事情都有两面,继承有继承的好处。例如实体类都需要这5个字段:

//数据创建时间

@Column(name = "create_time")

private String createTime;

//数据创建人

@Column(name = "create_user")

private String createUser;

//数据最后更新时间

@Column(name = "update_time")

private String updateTime;

//数据最后更新人

@Column(name = "update_user")

private String updateUser;

//操作标识 主要用于逻辑删除情况 N U D

@Column(name = "operflag")

private String operflag;

有继承的话可以统一定义基类BaseTable。其他实体类继承BaseTable即可

问题的关键其实在开发人员。知道各个语言的优缺点,能扬长避短即可。其实新语言的诞生一般是基于简化的目的,但随着使用的深入,自己却变的越来越复杂。Java本身是为了简化C++而来,现在却成了被简化的对象。长江后浪推前浪,这是自然规律,编程语言也是如此。

相关推荐
棉猴1 分钟前
玩游戏学Python10-算术运算符应用2
开发语言·python·玩游戏·游戏编程
tachibana26 分钟前
Go 语言的 Map 是否是并发安全的?
开发语言·数据结构·后端·golang·go·语言
后除9 分钟前
Go 实战: 使用 Wails v2.15 构建轻量级的桌面应用 - 仿微信登录界面
开发语言·微信·golang
坤坤子吖9 分钟前
Linux 进程信号入门——从 Ctrl+C 到 kill
linux·开发语言·c++·笔记·学习
看浪的路人16 分钟前
第8讲:RAG 生产化——Go 实现亿级向量召回 + 混合检索 + 重排序 Pipeline
开发语言·后端·golang
tachibana217 分钟前
Go 语言 Map 的扩容过程是怎样的?
开发语言·后端·golang·go·语言
念何架构之路20 分钟前
go-grpc服务端调用链
开发语言·后端·golang
泡海椒23 分钟前
JQuickExcel 大文件排障与调优:从实际路径定位 OOM、临时盘和慢任务
开发语言·数据库·缓存·oracle·excel
雪碧透心凉_39 分钟前
PythonWin32API窗口与鼠标操作
开发语言·python·计算机外设
人道领域1 小时前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#