我有一个需要开发的程序。为了保密,我会使用模糊的术语。我有一个包含由几个不同类共享的成员的小部件。我会在两个阶段处理一个小部件。每个阶段都有不同的成员,但他们确实也有一些成员。这是结构图。继承或组成?
Widget()
|- -|
SWidget()PWidget()
| - |
阶段1()阶段2()
Swidget和Pwidget从窗口小部件
Swidget继承包含2个pwidgets
stage1和stage2从Swidget继承。
我有一个类,需要实现两种stage1或stage2的
如果我宣布变量作为Swidget我只能看到什么是常见的。我看不到stage1或stage2特有的内容。我该如何解决这个问题?继承对一切都有效,但它们的区别。请指教!
编辑用户张贴的 “答案”:
stage1和stage2几乎完全一样。他们与一些成员和一些方法不同。问题是我无法在基类中创建属性来设置特定子类中的属性。在我知道其特定成员的值之前,stage1/stage2类被实例化。因此,如果我在UI中声明基类的实例,我无法设置它们。基类对子类一无所知。但是,为了让所有的属性和方法都可以通过UI访问,我必须声明其中的一个,并使用我需要的一个。
您的格式需要修正。如果这是作业,请将其标记为有作业。 “为了保密,我会用模糊的术语”通常意味着这是作业。 – 2010-09-30 19:19:07
作文在哪里?更不用说:Stage1和Stage1在他们所做的事情上有多相似,特别是他们将从外部调用的方法?你的班级如何知道是否实施Stage1或Stage2,并且它是否做了不同的事情?你在看什么语言? – 2010-09-30 20:21:49
由于现在还没有足够的信息来回答这个问题,我正在投票结束。 – 2010-09-30 20:56:17