1. 不能对AbstractSpreadsheet做任何修改;
2. 新建一个Spreadsheet.cs;在此文件中,您将在nameSpace SS中实现名为Spreadsheet的public class。这个class需要extend AbstractSpreadsheet并且实现(implement)其抽象方法(abstract method)来满足他们的说明。它还应该提供一个零参数构造函数(constructor),用于创建一个空的spreadsheet。不要向Spreadsheet添加任何其他公共构造函数(public constructor),方法(methods)或属性。完成后,使用您的库的另一个开发人员应该能够使用以下代码创建AbstractSpreadsheet对象:
AbstractSpreadsheet sheet = new Spreadsheet();
您的Spreadsheet类中的方法应该按照AbstractSpreadsheet中的指定行事。
不要尝试从头开始编写Spreadsheet class的实现。您应该使用预先存在的类,并且您可以决定创建自己的帮助类(helper classes):
a. 使用DependencyGraph class来跟踪电子表格单元格之间的关系。
b. 使用Formula class来表示公式。
c. 使用合适的.NET库类(library class)来跟踪单元名称和单元格之间的关联。
d. 单个单元格是电子表格中的重要抽象。我强烈建议你定义一个合适的Cell类(Cell class)。 (这是创建一个简单结构的好地方。)
e. AbstractSpreadsheet中的方法GetCellsToRecalculate已经实现,对您来说至关重要。
3. 您还要创建一个名为SpreadsheetTests的单元测试项目。您的单元测试应该实现(接近)电子表格项目中规范和代码的100%覆盖率。
4. 写注释。