gpt4 book ai didi

c++ - 每次要引入新功能时都要避免使用新类?

转载 作者:行者123 更新时间:2023-11-28 00:18:09 26 4
gpt4 key购买 nike

<分区>

在一个庞大复杂的应用程序中,我想知道是否可以不引入一个类来实现一个简单的新功能。

例如,类 C 和 D 继承自 A(还有许多其他类也继承自 A)。

如果我们想为 C 和 D 引入新的共享功能,我们可以:

1)在父类A和2个子类C和D之间引入一个新的类B(并在这个类中实现共享功能)所以B继承自A而C和D继承自B

2) 在父类 A 中添加功能并添加一个标志以仅当子类是 B 或 C 类型时才使用此功能(并确保这样我们不会破坏其他类继承自 A)

(在 delphi 中,我认为这个标志是一个已发布的属性,在对象检查器中可用,这使得在每个子类上包含或排除功能变得非常容易)

为了避免疯狂的多级复杂继承,遵循第二种方法是否是一种不好的做法?

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