gpt4 book ai didi

oop - 使用泛化而不是聚合

转载 作者:行者123 更新时间:2023-12-04 22:37:27 25 4
gpt4 key购买 nike

我有这个类模型,其中 Bank 是一个现在用于计算机化银行网络的类。这必须有 ATM(自动取款机)和人工收银员。

我使用了泛化并参加了一个名为 的类(class)。帐户处理程序 继承了 银行 类(class)。此 帐户处理程序 还有提款机 HumanCashier 聚合到它。

现在的问题是,我的 friend 争辩说我把整件事都看错了。据他说帐户处理程序 必须聚合到 银行 还有那个提款机 HumanCashier 必须继承到 帐户处理程序 .

我对此有点困惑。怎么建模啊!!或者这两种方法都正确吗?

最佳答案

我会回到基础。

你应该问问自己是否是 ATM AccountHandler ,或者如果是 AccountHandler 有一个 ATM .这应该为您提供关于使用继承或组合的问题的一般答案。

两者都是正确的。只有一个是好的设计,这取决于您的应用程序试图做什么。

通常,有一条经验法则(取自 Effective Java)表明您应该支持组合而不是继承。对此持保留态度,并确保您以正确的方式设计您的应用程序。 (更多信息见 Prefer composition over inheritance?)

关于oop - 使用泛化而不是聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645797/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com