读书人

TSchoolClass,TStudent类设计,该怎么处

发布时间: 2012-02-10 21:27:41 作者: rapoo

TSchoolClass,TStudent类设计
新手学习OOP,但是不明白怎么才能如下的功能:

比如TStudent类有ID,Name,Gender属性,TSchoolClass类的属性之一是Students,其数据类型是TStudent,班级人数不固定,可以通过SchoolClass.Students.Add(Student)来增加,或者SchoolClass.Students.Delete(Student)来删除,要求能够计算班级的人数SchoolClass.Students.Count, 能够通过序号、学号或者姓名来返回学生类的实例: SchoolClass.Students[Index], SchoolClass.StudentByXuehao(Xuehao), SchoolClass.StudentByName( 'Student Name ')对象。

请问该如何设计这些类?

[解决办法]
参考一下VCL,如treeview 的items
[解决办法]
也不算难得,你可以参考一下TListView, TListItems, TListItem三者之间的关系,这个和你那个差不多的,TListView比TTreeView还简单些。
三个类
TSchoolClass 相当于 TListView
TStudents 相当于 TListItems
TStudent 相当于 TListItem
先设计TStudent :
类似TListItem
constructor Create(AOwner: TStudents ); // 构造函数,指明所属的TStudents
destructor Destroy; override; // 析构函数,删除的时候同时要从TStudents中移出
// 三个你要的属性ID,Name,Gender
property Id: string read FId write FId;
// 添加一些其他的属性,比如说Owner
property Owner: TStudents read FOwner;
其他两个都差不多,仿照一下,就行了


读书人网 >.NET

热点推荐