在继承类中实例化抽象类对象

时间:2014-09-28 02:50:46

标签: c# inheritance

我需要找到一种方法,在名为Spreadsheet的继承类中,从名为Cell的抽象基类中实例化一个对象。在任何地方,我看到人们说它无法完成,但我需要为我的家庭作业做一部分而且它特别说我们不能使父类不抽象。

以下是作业的确切引用:

  

同样,你需要在这里提出一个实际允许的设计   电子表格创建单元格,之前有关于如何使用的提示   做这个。您无法进行公开声明的单元格类   非抽象。

唯一的"提示"我可以想到的是,父类是公共抽象,继承类只是一个公共类,它们都在同一个DLL中。

有人有什么想法吗?

编辑:(更多信息) 电子表格类应该包含2d的单元格数组。所以为了填充这个2d数组,我们需要创建单元格对象然后放入2d电子表格数组中的相应索引中。唯一的问题是我们不能制作任何单元格,因为单元格类是抽象的。那么,我如何制作一个单元格并将其放入数组中呢?

1 个答案:

答案 0 :(得分:2)

这意味着您需要使用Cell作为基类,并且继承类至少需要具有一些实现。

看起来这个特定的家庭作业有点被称为" hospital pass"在足球方面 - Spreadsheet不应该像你提到的那样继承Cell

无论如何,一旦你编写了派生类,就可以这样做:

Cell myCell = new MyDerivedCell();

瞧,你有一个抽象类的实例(抽象类不能直接实例化)。

这样做的好处是,您可以将大部分通用单元格功能放入Cell,然后指定一些方法或属性,应该覆盖Cell的更专业的派生。< / p>