我必须在Java SE中实现以下类,但我无法弄清楚如何实现ATMCard和Account之间的一对一关系.我研究过(可能是错误的关键字)但找不到任何东西.先感谢您..
解决方法:
首先,我发现您的模型对于ATMCard和Account来说有点奇怪:
>不是与ATMCard相关的PIN而不是账户?
>不是与帐户相关的custName吗?
然后,1-1关系意味着你将拥有以下其中一个:
> Account类的成员类型为ATMCard
> ATMCard类的成员类型为Account
>以上关系.
>以上都不是,但是将根据ID获取相关实体的getter.例如,您可以拥有一个ATMCard $getAccount(),它将根据accountNo检索相关帐户.
这实际上取决于您需要的模型逻辑.
正如@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;
}
您可以保护ATMCard和Account构造函数以强制使用公共工厂方法.
注意:您可以使用Spring或Guice之类的框架来提供此类工厂和注入服务.
标签:java,relationship,class
来源: https://codeday.me/bug/20190519/1138055.html