在我做的几乎所有项目中,我都忍不住将对象抽象化,以节省因为继承而必须编写的代码量;但是,我无法阻止这种做法在某种程度上是一种不好的做法。
例如,对于我目前正在进行的游戏,它需要动态编码。当玩家站立或点击某个磁贴时,会发生一些动作,但我认为为游戏中的每个块创建一个类是愚蠢的,所以我用一个抽象的run()
方法创建了一个抽象的Action类。磁贴将在触发器上运行。
我是否正确地使用了抽象,或者是否会产生太多抽象的太多事情等性能后果?
我知道抽象类的用途。这个问题是关于在程序的可读性和调试的两种情况下控制它,以及不减慢程序的速度(如果可能的话)。 此问题也针对所有OOP语言,我只是不知道他们的具体关键字,如抽象。
答案 0 :(得分:1)
关于何时使用抽象的一个非常简单的答案是当你想要一个默认实现时,使用抽象类。
因此,扩展它的任何类都必须只实现抽象方法和成员,并且将具有抽象类的其他方法的一些默认实现,如果需要,可以覆盖它们。