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

相关推荐
JHC000000几秒前
47. 全排列 II
开发语言·python·面试
g***86691 分钟前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
Drone_xjw2 分钟前
【Qt经验】QT软件打包报错 无法定位程序输入点_ZdlPvj于动态链接库 Qt5Sql.dll上
开发语言·qt
ku_code_ku4 分钟前
python几种包管理器的分析比较
开发语言·python·包管理器
编程小Y5 分钟前
ODB和其他C++ ORM框架相比有什么优势?
开发语言·c++
2301_795167206 分钟前
Python 高手编程系列一十三:现实例子 — 延迟求值属性
开发语言·windows·python
Zfox_7 分钟前
【Go】结构体、自定义类型与接口
开发语言·后端·golang
枫叶丹48 分钟前
【Qt开发】Qt窗口(四) -> QDockWidget浮动窗口
c语言·开发语言·c++·qt·开源
星释9 分钟前
Rust 练习册 101:字符串序列切片的艺术
开发语言·后端·rust
6***830517 分钟前
VMware虚拟机配置桥接网络
开发语言·网络·php