班级和学生,如何设计这两个类?(100分)

  • 主题发起人 主题发起人 丹尼路
  • 开始时间 开始时间

丹尼路

Unregistered / Unconfirmed
GUEST, unregistred user!
我想设计这个两类,班级里面要包含所有学生的集合,
而学生的属性里又要有学生所在的班级,
可是这样就嵌套定义了,应该怎么做呢?
 
这没什么问题吧,就比如说:
TForm类中有Components属性存储了它包含EDit,ComboBox之类的组件,而这些组件的Owner甚至Parent属性又指向了这个Form。
 
这是一种办法:
TGrade = class
StudentList: TList;
end;

Tstudent = class
ownGrade: TGrade;
name,sex: string;
end;
当你的学生类没有行为能力的时候, 你可以之直接让它成为 record.
 
你像下面这样做就行了

TGroup = class;

TStudent = class
private
.
.
.
你的具体定义
end;

TGroup = class
private
.
.
.
你的具体定义
end;

这样就不会嵌套定义了

如果放在两个单元文件里面,因为都是直接需要使用的,可能会存在你那种情况
 
TO duhai_lee:
我要在班级类添加一些行为,参数是学生类,这样定义就不行了吧,如果参数定义成TObject又感觉有点别扭。

TO Beyondbill:
我确实是定义在两个unit中的,所以有问题。
照你的方法改过,OK了,只是不知道这种方法是不是正规,呵呵。
 
班级类包含学生类
但在班级类的InterFace段用TObject来引用
implement段再具体引用学生类单元
 
对于这种两个类的互相嵌套,应该是没什么办法吧。只能将一个定义成tobject吧
 
多人接受答案了。
 
后退
顶部