使用继承来简化公共字段的重复定义
2025-11-29
| 2025-11-29
字数 602阅读时长 2 分钟
type
status
date
slug
summary
tags
category
icon
password
写在前面:Punny的开发日记主要记录一些日常开发中使用的开发技巧、技术分享等等,通过不断的记录以提升自己的开发熟练度。这是其中的第一篇。
在日常开发中创建的业务实体可能经常会有一些公共的属性字段,比如创建时间更新时间等等,如果每次在创建的时候都需要重复定义这些公共字段会显得类很臃肿并且冗余,所以我们可以合理的使用继承来简化这一流程:
通过创建一个基础类(BaseEntity)在里面定义一些公共的字段,以后所有的业务对象都直接继承该类,这样就保证了公共字段的重复定义。
在我的项目中,就在BaseEntity中定义了id、创建时间、更新时间、删除标记这几个公共字段。并且使用了Mybatis,在后续的ORM中Mybatis会直接将对象和其父类属性平铺在一起,所以在数据库建表中还是需要重复创建这几个字段。注意:BaseEntity因为从不实例化,所以建议使用抽象类。

第二种情况

有时候会遇到一些半全局字段,也就是有很多类可能需要但是有些类又可能不需要。比如类似creator(创建者)这种字段,我们肯定不能把他放进BaseEntity里面,比如User类就肯定不需要创建者字段。对于这种情况,我们就可以通过二次继承的方式来保证该字段只赋给需要的业务实体类。
创建了一个BaseOperationEntity并且继承了BaseEntity,保证他有基础的公共字段又有了额外的半全局字段,这样相关的业务实体类就可以继承BaseOperationEntity来保证获取所有需要的字段,并且不会污染BaseEntity。
  • Java
  • 即时通讯(Instant Messaging)之消息推送密码加密存储
    Loading...