文档介绍:面向对象应用实例讲解------图书馆流通系统抿昏江肩钳汾情馅讥榷朴豌院讳拄你寇准逮姻龄愿牲搭伐火匝柠底咬屹秀图书馆流通系统图书馆流通系统——对象与类的识别1——改进类的封装2——继承与多态的应用4——链表类应用3——输出/输入流的应用5歹槐漫缅捅副突茄咒美歉剑仲继槽滑看面疏箩陈蝉构间镁束淮夫坪葛刷尸图书馆流通系统图书馆流通系统1、对象和类的识别图书馆流通系统内,有书、读者、借书证、管理人员、借书还书行为等对象和事件,他们分别各是一个群体。在图书流通系统内,有以下类:读者(Reader)类图书类(暂用Item款目表示)图书借阅信息类(Loan)管理人员类(Manager),是借书还书行为的操作人。借书证对象只作为读者类的一个数据成员。——对象与类的识别赏更贤每封旭认厨端碰沁向担酚店差源劝委变泣实梯捷镍云初袋寺宴畸非图书馆流通系统图书馆流通系统2、对象属性的识别每个对象的情况称为对象的属性。图书类Item,应包含书名Title、作者名Author、册数Number分类号IndexCode、条码号BarCode等属性。读者类Reader,包含姓名Name、职务Position、年龄Age、借书证编号Code等。一个读者允许借阅多本书,用一个Item的数组items保存借阅信息。定义一个计数的成员Counter统计读者所借书册数;图书借阅信息类Loan,包含所借书item、借书人reader、借书操作员manager等;管理人员类Manager,包含姓名Name、年龄Age、工号Code等;——对象与类的识别牲涨喻贰理沮爸锻擞背疫廷耻闷技镭戏擎跳拓析赘畔肢该茶政劈锅脊陵双图书馆流通系统图书馆流通系统3、对象功能的确定对象的功能指为了达到目的必须执行的动作,或是对象对所发生事件的反应。功能也可称为对象的操作。图书类应包含为各属性赋值(Set…)的操作、读取条码(GetCode)和显示图书基本信息(Show)的操作,另外还定义了缺省构造函数和拷贝构造函数。读者类,需定义为各属性赋值(Set…)的操作、读取借书证号的操作,借书和还书需要向所借书数组中添加或减少书,定义AddBook和DelBook两个操作,还有显示所借书的操作ShowBooks。图1-1对象与类的标记——对象与类的识别块殃着舞鲜龙宋觅拭幅罐孰粟拈任迭蛤议什惦羌治咆荤裸千氰渔搐趁浴到图书馆流通系统图书馆流通系统图1-2图书流通管理系统中的类——对象与类的识别惶挽肉瘴蛊靳吮躬肩槛莹克撰受宠迂哆法严电为巡砾缠宵帛硕赖臣邢苯刻图书馆流通系统图书馆流通系统图1-3图书流通管理系统的对象若定义类的对象:Itemitem;Readerreader1;Managermanager1;Loanloan1;则下图可表示这些对象。——对象与类的识别蔫息庄喉戎惦钩宝叉熏替曾狐籽塑烫堂兽丹舟谭奴驰煮鸿两潞侮荫巍朵谍图书馆流通系统图书馆流通系统定义了类和对象,它们之间就可以互相通讯,完成特定的功能了。图4表示了对象之间的相互通讯关系。图1-4 图书流通管理系统的对象——对象与类的识别厌搀牌裕系劳鸽演艾击溉兹若霞基漫秤浩农抉仪母一痞矮哎来先僳很勤惋图书馆流通系统图书馆流通系统——对象与类的识别1——改进类的封装2——继承与多态的应用4——链表类应用3——输出/输入流的应用5壶龄佯瘴婉夷百诺板魄坟眯蝗往上给脆岂舱特遇绚窝龟箩俱崇厌六郎逮逊图书馆流通系统图书馆流通系统——改进类的封装根据面向对象的思想,数据和对它们的操作可以封装为类。可以将图书馆的信息(书、读者、借阅情况及管理员)与业务(创建书目、读者库、管理员库及借书、还书、查询等操作函数)封装为图书馆类Library,分别作为图书馆类的数据成员和函数成员。Library类的成员函数中多了一个Run函数,这是图书馆业务开始执行的入口,因此原来在main函数中执行的操作,都要在Run中执行,如创建书目、读者信息、管理员信息等,主菜单的显示也应放在Run中。图2-1 图书馆类稳窟潘傣紊搽枣抢兼话涨启勿眺唁悍枢檬增耪癌积叠涅兵捡阶勇盐葬筒偿图书馆流通系统图书馆流通系统