首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >银行软件系统中的抽象方法

银行软件系统中的抽象方法
EN

Software Engineering用户
提问于 2021-04-23 00:08:46
回答 2查看 259关注 0票数 0

我正在创建一个银行软件系统。

在这个系统中,有三种帐户类型:储蓄,支票,光盘。

任何类型的每个帐户都有ID、apr和金额,我们可以从其中提取。

所以我可以有一个抽象类Account,它包含ID、apr、withdraw(int amount)变量和D1方法。

但是,我们只能存入储蓄账户和支票账户,我们只能在储蓄账户和支票账户之间转账。

因此,不能在Account抽象类中定义这两个方法:存(Int)和转移(id,methods )。

我正在考虑创建一个接口nonCDAccount,它包含两个方法:deposit()transfer(),并从SavingsChecking类实现该接口。

是个好主意吗?如果没有,我该怎么办?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2021-04-23 06:59:02

您的抽象Account类和nonCD帐户接口的解决方案应该可以工作。

但这取决于您打算如何使用API中的类和接口。例如,您是否假设每次您有一个nonCD时,它就一定是一个帐户?如果是,则有两种选择:

  • 您可以使nonCD成为扩展Account的抽象类。如果帐户类型是在构造时定义的,并且不应该更改,则此操作很好。
  • 您可以使用装饰图案,其中nonCD将扩展Account的职责。如果帐户的责任在其生命周期内发生变化,并且在您的情况下可能是过度工程的话,这是很好的工作。

Not相关的__:评论表明,您不是在使用银行软件,而是更多地通过模拟银行学习。这就是为什么我想质疑你对需求的理解。我知道CD帐户是一个纯存款的帐户.它上没有提款:提款意味着关闭账户。但是,在模拟世界中,这些帐户的工作方式可能不同,而且对您的练习也没有问题。所以,在开始建立错误的假设之前,要反复检查一下。

票数 1
EN

Software Engineering用户

发布于 2021-04-23 08:02:57

您可以在接口中使用canDeposit和canWithdraw方法。这使得您的ui可以适应,就像当您不能存款时不显示输入存款金额的窗口。

当不允许调用时(因为这是一个编程错误),您可以使用方法()来断言它们,否则就会做正确的事情。

你也可以射杀那些没有任何真正的论据可以发表评论的选民。

票数 -1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/425702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档