Ken*_*ors 5 java class relationship
我必须在Java SE中实现以下类,但我无法弄清楚如何实现ATMCard和Account之间的一对一关系.我研究过(可能是错误的关键字)但找不到任何东西.先感谢您..

ATMCard首先,我发现你的模型对于和有点奇怪Account:
PIN与the相关ATMCard而不是与the相关吗Account?custName相关的吗Account?那么,1-1 关系意味着您将拥有以下之一:
Account有一个类型的成员ATMCardATMCard有一个类型的成员AccountATMCard$getAccount()基于. AccountaccountNo这实际上取决于您需要的模型逻辑。
正如@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;
}
Run Code Online (Sandbox Code Playgroud)
您可以保护ATMCard构造Account函数以强制使用公共工厂方法。
Spring注意:您可以使用类似或 的框架Guice来提供这种工厂和注入服务。