我正在从事一个项目,其中要求您必须使用多态性来支持不同类型的单元格,这些单元格的打印方式不同,但共享存储和显示用于设置单元格的输入字符串的通用方法。对我来说这似乎是非常模糊的。有人建议我创建一个Cell超类,然后为单元格的类型创建类。我需要编写的单元格类型是双倍、字符串和日期。对于存储单元格的数组,我有以下代码。
final static int WIDTH = 7;
final static int HEIGHT = 10;
static Cell[][] sheet = new Cell[HEIGHT][WIDTH];如果我应该为不同的数据类型使用子类,我该如何做到这一点?有人能给我解释一下这个概念吗?
发布于 2015-02-12 03:39:31
很难把这些问题写得很清楚,但这是一个基本的想法。您需要类似于单元格的抽象基类,它具有公共数据,并为必须实现的东西声明了一个抽象方法。然后,为每种具体类型的细胞,比如红细胞、白细胞和干细胞,导出一个子类,并给它们一个具体的实现。
然后,比方说,您可以创建一个单元格数组,并根据多态性调用每个单元格来调用正确的具体方法。
更新
哦,你不是指那种细胞。:-)
我不想给你看所有的代码,但基本上看起来
public class Cell { private int width, height; /*... more stuff */ }
public class ACell extends Cell { /* ... */ }  https://stackoverflow.com/questions/28468826
复制相似问题