首先,我想提一下,这是与任务有关的。我很难理解某些部分,也找不到任何信息来回答我的问题。
所以我有两个类:一个叫RecursivePascal,一个叫IterativePascal。我还有一个Pascal接口,这两个实现类都实现了这个接口。
现在我有一个任务来创建一个实现Pascal接口的抽象类ErrorPascal,这两个实现类都应该扩展ErrorPascal。
我应该为printPascal和binom的参数添加基本的健全性检查(这两种方法都存在于IterativePascal和RecursivePascal中),并试图避免重复的代码
我的问题是:,在这种情况下抽象超类有什么意义?有什么方法可以为这两个实现类在该类中进行理智检查吗?如果是的话,是如何做到的?如果不是,在这种情况下,抽象超类的意义是什么?
发布于 2015-11-07 07:42:08
一个超类,不管抽象与否,都允许您在那里定义方法,这些方法可以由扩展它的类使用--或者任何调用者都可以使用。
在您的示例中,您可能有一个checkSomeParam(...)
方法,RecursivePascal和IterativePascal都调用它。与其在两个类中复制该方法,不如将其放置在超类中。
https://stackoverflow.com/questions/33584500
复制