gpt4 book ai didi

java - 在Java中使用子对象作为父对象属性是不好的做法吗?

转载 作者:行者123 更新时间:2023-11-30 06:03:09 24 4
gpt4 key购买 nike

例如,我有一个名为实体的类,它看起来像

public class Entity {
private User userCreated;
private Date dateCreated;
private User userModified;
private Date dateModified;
}

然后我有我的 User 类,它实际上是 Entity 的子类

public class User extends Entity {
private String username;
}

我感觉关系中有一个循环,但是对象在我的系统中以这种方式相关,因为我的所有数据都是一个实体,并且我的所有实体都是由用户创建的,包括我的用户,所以我的用户是一个实体。

我已经测试了代码并且它可以工作,我的问题是,这个设计不好吗?如果不好有没有更好的方法来实现?

最佳答案

总的来说,这并没有什么不好。如果基类包含需要了解其所有子类的逻辑(例如,为了决定在某些方法调用中返回哪个实例),这只是一个不好的做法,因为这可能会破坏基类(或强制它更新)任何时候引入新的子类。

另一方面,JDK 本身包含引用其子类的类的示例。

例如(也许这有点作弊),Object 类包含对 StringClass 的引用,它们是它的子类。

如果你的类(Class)关系需要它,那没有什么问题。

关于java - 在Java中使用子对象作为父对象属性是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53004378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com