java - 在 Java 中使用子对象作为父对象属性是不好的做法吗?
问题描述
例如,我有一个名为 entity 的类,它看起来像
public class Entity {
private User userCreated;
private Date dateCreated;
private User userModified;
private Date dateModified;
}
然后我有我的用户类,它实际上是实体的孩子
public class User extends Entity {
private String username;
}
我感觉关系中有一个循环,但对象在我的系统中以这种方式相关,因为我所有的数据都是一个实体,我所有的实体都是由用户创建的,包括我的用户,所以我的用户是实体。
我已经测试了代码并且它可以工作,我的问题是,这个设计不好吗?如果它不好,有没有更好的方法来实现它?
解决方案
总的来说,这没有什么不好的。如果基类包含需要了解其所有子类的逻辑(例如,为了决定在某个方法调用中返回哪个实例),这只是一种不好的做法,因为这可能会破坏基类(或强制它待更新)任何时候引入新的子类。
另一方面,JDK 本身包含引用其子类的类的示例。
例如(也许这有点作弊),Object
该类包含对String
and的引用Class
,它们是它的子类。
如果你的阶级关系需要它,它没有错。
推荐阅读
- php - 如何从 php 中的 mysql 查询中删除重复的结果?
- javascript - 期望值相等:[Function wrap] - 如何模拟它?
- matlab - 矩阵函数最小化
- stm32 - STM32 SPI数据反向发送
- oracle - 为什么 oracle 触发器显示不同的时间戳正在插入的内容
- android - 无法使用 DrawerLayout 将图像放在 ListView 上方
- java - java客户端-服务器项目中的连接超时错误
- sql - 试图从乱码 XML 数据中获取不同数量的值
- shell - 如何在shell脚本中监控后台进程
- javascript - 如何确定何时必须再次提供未付费预订?