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

我必须在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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值