Project management 抽象的良好使用

Project management 抽象的良好使用,project-management,abstraction,readability,Project Management,Abstraction,Readability,在我做的几乎所有项目中,我都会情不自禁地将对象抽象化,以节省由于继承而不得不编写的代码量;然而,我无法停止这种感觉,从某种程度上说,这是一种糟糕的做法 例如,对于我目前正在开发的游戏,它需要动态编码。当玩家站立或单击互动程序时,会发生一些动作,但我认为为游戏中的每个区块创建一个类是愚蠢的,因此我使用抽象run()方法创建了一个抽象动作类,互动程序将在触发器上运行 我是否正确地使用了抽象,或者是否会因为太多事物过于抽象而产生诸如性能之类的后果 我知道抽象类的用途。这个问题是关于在程序的可读性和调试

在我做的几乎所有项目中,我都会情不自禁地将对象抽象化,以节省由于继承而不得不编写的代码量;然而,我无法停止这种感觉,从某种程度上说,这是一种糟糕的做法

例如,对于我目前正在开发的游戏,它需要动态编码。当玩家站立或单击互动程序时,会发生一些动作,但我认为为游戏中的每个区块创建一个类是愚蠢的,因此我使用抽象
run()
方法创建了一个抽象动作类,互动程序将在触发器上运行

我是否正确地使用了抽象,或者是否会因为太多事物过于抽象而产生诸如性能之类的后果

我知道抽象类的用途。这个问题是关于在程序的可读性和调试两种情况下保持对它的控制,以及不减慢程序的速度(如果可能的话)。
这个问题也针对所有OOP语言,我只是不知道它们的具体关键字,比如抽象。

关于何时使用抽象的一个非常简单的答案是,当您想要一个默认实现时,使用抽象类


因此,任何扩展它的类都必须只实现抽象方法和成员,并且将具有抽象类的其他方法的一些默认实现,如果需要,您可以覆盖这些方法。

您的问题可以保存;缩小范围是可能的。相反,如果您询问为什么选择抽象而不是编写多个类,或者为什么创建一个基类来调用
run()
是一个好主意,那么这将非常有用。加上谷歌是抽象的忠实粉丝,使得信噪比非常低。这不是一个具体的问题,也不能用适当的方式来回答。也不清楚这里到底问了什么问题。。。它主要是关于您的
操作
类的具体实现吗?你希望人们给出一个比你提到的更好的抽象用法的具体例子吗。。。有人可能会把它解释为“实现一个抽象类是明智的做法吗?”,这实在是太宽泛了。我试图给出一个非常简单的答案,因为OP与C和java有点混淆!!!