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 小时前
Java中集成Smile 技术教程:从入门到工程实践
java·开发语言
BerrySen1782 小时前
迈向 Next-Gen Java:企业级高并发架构演进与大模型 Agent 落地深度实战
java·开发语言·架构
Nebula_g2 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化
一水3 小时前
java运行排错,新码旧jar
java·开发语言·jar
Python+993 小时前
Java 编程语言入门指南
java·开发语言
Wang's Blog3 小时前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
TDengine (老段)3 小时前
TDengine Go 与 Rust 连接器 — 高性能异步访问
大数据·数据库·物联网·golang·rust·时序数据库·tdengine
程序喵大人4 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
完美火龙篇 四月的友4 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
开发语言·php
冻柠檬飞冰走茶4 小时前
PTA基础编程题目集 7-15 计算圆周率(C语言实现)
c语言·开发语言·数据结构·算法