gpt4 book ai didi

language-agnostic - 在类层次结构的中间有空类是否有代码味?

转载 作者:行者123 更新时间:2023-12-04 17:42:07 25 4
gpt4 key购买 nike

有时我最终会得到一个类层次结构,其中我有一个具有一些通用功能的抽象基类和几个属于两个(很少更多)组的实现类,我想在某些情况下对它们进行不同的处理。一个例子是抽象树节点类和不同的分支和叶子实现,我想在某个时候区分分支和叶子。

这些中间类然后只用于流控制中的“is-a”语句,它们不包含任何代码,尽管我有过它们后来“增长”一些代码的情况。

你觉得这很臭吗?在我的树示例中,一种替代方法是添加 isLeaf()/isBranch()抽象方法到基类并在中间类上实现这些方法,但这对我来说似乎并没有更好,真的,除非我打算拥有可以同时包含多个事物的类。

最佳答案

对我来说,在流量控制中使用“is-a”测试和使用 switch/case 一样难闻。在一个好的 OO 设计中,两者都不需要。

关于language-agnostic - 在类层次结构的中间有空类是否有代码味?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1486153/

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