3

在我所做的几乎所有项目中,我都忍不住将对象抽象化以节省由于继承而必须编写的代码量;但是,我无法停止在某种程度上这是一种不好的做法。

例如,对于我目前正在开发的游戏,它需要动态编码。当玩家站立或点击一个图块时,会发生一些动作,但我认为为游戏中的每个块创建一个类是愚蠢的,所以我创建了一个带有抽象run()方法的抽象 Action 类,图块将在该类上运行扳机。

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

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

4

1 回答 1

1

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

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

于 2013-09-02T15:53:57.113 回答