多态性细胞写作

时间:2015-02-12 03:34:57

标签: java polymorphism

我正在开发一个项目,其中要求说必须使用多态来支持不同类型的单元格,这些单元格的打印方式不同,但共享一种常用的方法来存储和显示用于设置单元格的输入字符串。这对我来说似乎很模糊。有人建议我创建一个Cell超类,然后为单元格类型创建类。我需要写的单元格类型是双精度,字符串和日期。我有我的存储我的单元格的数组的以下代码。

final static int WIDTH = 7;
final static int HEIGHT = 10;
static Cell[][] sheet = new Cell[HEIGHT][WIDTH];

如果我应该为不同的数据类型使用子类,我该怎么做?有人可以向我解释这个概念吗?

1 个答案:

答案 0 :(得分:1)

将这些问题写得非常清楚可能有点难,但这是基本的想法。你需要类似于Cell的抽象基类,它具有公共数据,并为必须实现的事物声明一个抽象方法。然后你为每个具体类型的细胞派生一个子类,比如红细胞,白细胞和茎,并给它们一个具体的实现。

然后,您可以创建一个Cell数组,并根据多态性调用每个单元格以调用正确的具体方法。

<强>更新

哦,你不是那种细胞。 : - )

我不想向您展示所有代码,但它基本上看起来像

public class Cell { private int width, height; /*... more stuff */ }
public class ACell extends Cell { /* ... */ }