1 / 36
文档名称:

图书馆流通系统.ppt.ppt

格式:ppt   页数:36
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

图书馆流通系统.ppt.ppt

上传人:mkoijke 2015/4/28 文件大小:0 KB

下载得到文件列表

图书馆流通系统.ppt.ppt

相关文档

文档介绍

文档介绍:面向对象应用实例讲解
------图书馆流通系统
——对象与类的识别
1、对象和类的识别
图书馆流通系统内,有书、读者、借书证、管理人员、借书还书行为等对象和事件,他们分别各是一个群体。在图书流通系统内,有以下类:
读者(Reader)类
图书类(暂用Item款目表示)
图书借阅信息类(Loan)
管理人员类(Manager),是借书还书行为的操作人。
借书证对象只作为读者类的一个数据成员。
2、对象属性的识别
每个对象的情况称为对象的属性。
“图书类”,应包含书名Title、作者名Author、分类号IndexCode、册数Number、条码号BarCode等属性。
读者类,包含姓名Name、职务Position、年龄Age、借书证编号Code等。一个读者允许借阅若干册书,在此用一个Item的数组items保存相应信息。另外对读者所借书册数要统计,定义一个计数的成员Counter;
图书借阅信息类,包含所借书item、借书人reader、借书操作员manager等;
管理人员类,包含姓名Name、年龄Age、工号Code等;
——对象与类的识别
3、对象功能的确定
对象的功能指为了达到目的必须执行的动作,或是对象对所发生事件的反应。功能也可称为对象的操作。
图书类应包含为各属性赋值(Set…)的操作、读取条码(GetCode)和显示图书基本信息(Show)的操作,另外还定义了缺省构造函数和拷贝构造函数。
读者类,需定义为各属性赋值(Set…)的操作、读取借书证号的操作,借书和还书需要向所借书数组中添加或减少书,定义AddBook和DelBook两个操作,还有显示所借书的操作ShowBooks。
图对象与类的标记
——对象与类的识别
图书流通管理系统中的类
——对象与类的识别
图书流通管理系统的对象
若定义类的对象:Item item; Reader reader1;
Manager manager1; Loan loan1;
则下图可表示这些对象。
——对象与类的识别
定义了类和对象,它们之间就可以互相通讯,完成特定的功能了。。
图书流通管理系统的对象
——对象与类的识别
——改进类的封装
根据面向对象的思想,数据和对它们的操作可以封装为类,很自然,我们可以将图书馆的信息(书、读者、借阅情况及管理员)与业务(创建书目、读者库、管理员库及借书、还书、查询等操作函数)封装为图书馆类Library, 分别作为图书馆类的数据成员和函数成员。而且,由于操作对象定义为类的数据成员,图书馆类的函数成员所进行的业务操作就不再需要参数,可以直接访问数据成员,简化了编程。
Library类的成员函数中多了一个Run函数,这是图书馆业务开始执行的入口,因此原来在main函数中执行的操作,都要在Run中执行,如创建书目、读者信息、管理员信息等,主菜单的显示也应放在Run中。
图书馆类
——改进类的封装
void Library::Run(){
int choice;char c;
do{ choice = ShowMainMenu();
switch(choice){
case 1:CreateBibliotheca();break; //创建书目
case 2:CreateReader(); break; //创建读者信息
case 3:CreateManager();break; //创建管理员信息
case 4:do{Borrow();
cout<<"继续吗?Y(y)es/N(n)o\n";
cin>>c;
();}while(c=='Y'||c=='y'); //借书操作
break;
case 5:do{Return();
cout<<"继续吗?Y(y)es/N(n)o\n";
cin>>c;
();}while(c=='Y'||c=='y'); //还书操作
break;
——改进类的封装
case 6:do{Require();
cout<<"继续吗?Y(y)es/N(n)o\n";
cin>>c;
();}while(c=='Y'||c=='y'); //查询操作
break;
case 0:exit(0);break; //退出
default:cout<<"请重新输入"<<endl;break;
}
}while(1);
}
main函数所要做的就是定义一个Library的对象,然后调用该对象的Run函数:
void main(){
Library lib; //定义图书馆类对象
(); //调用运行函数,