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++而来,现在却成了被简化的对象。长江后浪推前浪,这是自然规律,编程语言也是如此。

相关推荐
iso少年15 小时前
Go 语言并发编程核心与用法
开发语言·后端·golang
故事不长丨15 小时前
C#字典(Dictionary)全面解析:从基础用法到实战优化
开发语言·c#·wpf·哈希算法·字典·dictionary·键值对
Sun_小杰杰哇15 小时前
Dayjs常用操作使用
开发语言·前端·javascript·typescript·vue·reactjs·anti-design-vue
雒珣15 小时前
Qt简单任务的多线程操作(无需创建类)
开发语言·qt
泡泡以安15 小时前
【爬虫教程】第7章:现代浏览器渲染引擎原理(Chromium/V8)
java·开发语言·爬虫
亮子AI15 小时前
【Python】比较两个cli库:Click vs Typer
开发语言·python
月明长歌15 小时前
Java进程与线程的区别以及线程状态总结
java·开发语言
qq_4017004116 小时前
QT C++ 好看的连击动画组件
开发语言·c++·qt
t1987512816 小时前
广义预测控制(GPC)实现滞后系统控制 - MATLAB程序
开发语言·matlab
报错小能手16 小时前
线程池学习(六)实现工作窃取线程池(WorkStealingThreadPool)
开发语言·学习