gpt4 book ai didi

oop - "Is a"和"Has a": which one is better?

转载 作者:行者123 更新时间:2023-12-04 04:44:16 26 4
gpt4 key购买 nike

投资组合A→基金1

投资组合A→基金2

投资组合A→基金3

如果不使用is/has,我就无法框定我的句子。但是在1和2之间

1)具有:

class PortfolioA
{
List<Fund> obj;
}

2)是:
class PortfolioA : List<Fund>
{

}

从可扩展性,可用性角度来看,您认为哪一种更好?尽管在语法上进行了很小的更改,但我仍然可以通过任何一种方式使用我的资金。

最佳答案

我与其他人一起投票,他们说HAS-A在这种情况下更好。您在评论中询问:

when I say that a Portfolio is just a collection of funds, with a few attributes of its own like TotalPortfolio etc, does that fundamentally not become an "is-a"?



我不这么认为。如果您说 Portfolio IS-A List<Fund>,投资组合的其他属性如何?当然,您可以向此类添加属性,但是将这些属性建模为List的属性是否准确?因为这基本上就是您正在做的事情。

如果要求一个产品组合支持多个 List<Fund>,该怎么办?例如,您可能有一个显示当前投资余额的列表,但另一个有显示新捐款的投资方式的列表。那么,什么时候停止使用资金,而使用新的资金来接替这些资金呢?历史信息以及当前的资金分配都非常有用。

关键是,尽管所有这些属性都可能是投资组合的属性,但它们并不是列表的正确属性。

关于oop - "Is a"和"Has a": which one is better?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/263355/

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