我有这个班级模型,银行是一个现在正在进入计算机化银行网络的班级.这必须有ATM(自动柜员机)和人员收银员.
我使用了Generalization并使用了一个名为AccountHandlers的类来继承Bank类.此AccountHandler还汇总了ATM和HumanCashier.
现在问题是,我的朋友在争辩说我把整件事弄错了.根据他的说法,AccountHandlers必须汇总到Bank,而ATM和HumanCashier必须继承到AccountHandlers.
解决方法
我会回到基础.
您应该问自己ATM是否是AccountHandler,或者AccountHandler是否有ATM.这应该给你一个关于使用继承或组合的问题的一般答案.
两者都是正确的.只有一个是好的设计,这取决于您的应用程序尝试做什么.
通常,有一条经验法则(取自Effective Java),表明你应该支持组合而不是继承.拿一粒盐,确保你正确地设计你的应用程序. (有关详细信息,请参阅Prefer composition over inheritance?)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。