gpt4 book ai didi

java - java中类之间的一对一关系

转载 作者:搜寻专家 更新时间:2023-10-31 20:01:48 25 4
gpt4 key购买 nike

我必须在 Java SE 中实现以下类,但我不知道如何实现 ATMCard 和帐户之间的一对一关系。我已经研究过(可能使用了错误的关键字)但找不到任何东西。提前谢谢你..

Class diagram, mentioned in the question

最佳答案

首先,我发现您的 ATMCardAccount 模型有点奇怪:

  • PIN 不是与 ATMCard 相关,而是与 Account 相关吗?
  • custName 不是与 Account 相关联吗?

然后,1-1 关系意味着您将拥有以下其中之一:

  • Account 类有一个类型为 ATMCard 的成员
  • ATMCard 类有一个类型为 Account 的成员
  • 以上关系。
  • 以上都不是,而是根据 ID 获取相关实体的 getter。例如,您可以有一个 ATMCard$getAccount(),它将根据 accountNo 检索相关的 Account

这实际上取决于您需要的模型逻辑。

正如@NickHolt 所建议的,我会选择一种可以通过工厂初始化的单向关系船,例如

public static ATMCard createCard(String name, int accNo, int pin, int initBal) {
Account acc = new Account(name, accNo, initBal);
ATMCard card = new ATMCard(pin);
card.setAccount(acc);
return card;
}

您可以保护 ATMCardAccount 构造函数以强制使用公共(public)工厂方法。

注意:您可以使用像 SpringGuice 这样的框架来提供这种工厂注入(inject)服务。

关于java - java中类之间的一对一关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28828093/

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