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 分钟前
面向对象高级(实战案例)
开发语言·python·学习
Flynt1 小时前
Cloudflare 用 Rust 重写了 TypeScript:我拿同一批代码跑了跑,报错一模一样,退出码不一样
rust·typescript·前端工程化
fanruitian1 小时前
python else用法
开发语言·python
FRing031 小时前
JavaScript入门到精通二十六(变量提升、函数剩余参数、展开运算符、ES6箭头函数)
开发语言·前端·javascript·es6·箭头函数
云深麋鹿1 小时前
C++ | 基于红黑树实现mymap与myset
开发语言·c++
weixin_417396832 小时前
桌面云终端PXE启动失败怎么排查?从DHCP Option到镜像下发
开发语言·前端·php·技术·酒店·综合布线·弱电
某不知名網友3 小时前
ROS2进阶:服务通信、自定义SRV接口、参数服务器与基于服务的参数通信详解
java·开发语言·microsoft
java_nnnn3 小时前
LeetCode刷题滑动窗口(水果成篮+找到字符串中所有字母的异位词)Java
java·开发语言·leetcode
qetfw3 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
小羊没烦恼!3 小时前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#