如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C#面向对象程序设计实验指导及报告书姓名:______________学号:______________班级:______________指导教师:______________计算机与电子信息工程系2013实验五继承与多态编程练习一、实验目的1.了解类之间的关系,能区分关联关系中的聚合和组合的区别;2.学习并掌握使用多个类对象构建一复杂系统。3.理解继承的含义,掌握派生类的定义方法和实现;4.掌握抽象类和抽象方法的使用;5.编写体现类的继承性的程序;6.掌握多态性的概念并能编写体现类多态性的程序。二、实验内容1、创建一个应用程序,实现下面的UML图。Step1:实现银行帐户Account类:1)私有的属性balance:用于保存帐户中的当前余额。2)公有带参构造方法:对balance属性进行了初始化。3)公有方法getBalance:用于取得当前帐户余额。4)公有方法deposit:用于把数量为amount的现金存储到当前帐户中。5)公有方法withdraw:用于从当前帐户中提取数量为amount的现金。Account类实现代码:Step2:实现Customer类UML图中,Account类和Customer类之间的关系是聚合,即Account类的对象作为Customer类的成员,图中箭头上方的是对象名,两端的1表示一对一关系,即一个Customer类的对象含有一个Account类的类对象作为成员。1)私有属性:firstName,lastName和account2)公有的带参构造方法:用于对firstName,lastName属性进行了初始化。3)公有的成员方法getFirstName:返回firstName的属性4)公有的成员方法getLastName:返回lastName的属性。5)公有的成员方法setAccount:对对象成员account进行设置6)公有的成员方法getAccount:取得对象成员account的值Customer类实现代码:Step3:实现Bank类bank对象只是简单地记住它和它的客户之间的联系。通过一个Customer数组来实现这个一对多的聚合关系。还需要设置一个整型的属性来存放当前银行中客户的数目。1)私有属性:customers:一个Customer类的对象数组。numberOfCustomers:银行当前客户的数量,每增加一个客户,其值加一。2)公有的构造方法:用适当的数组长度对customers对象数组进行初始化。3)公有的成员方法addCustomer:通过参数(firstname,lastname)创建一个新的Customer对象,并把它存放在customers对象数组中。同时它必须增加numberOfCustomers的值。4)公有的成员方法getNumOfCustomers:返回numberOfCustomers属性的值。5)公有的成员方法getCustomer成员方法:返回对象数组中指定下标为index的customer对象。Customer类实现代码:Step4:编写测试程序如下publicclassTesting{publicstaticvoidMain(String[]args){Bankbank=newBank();bank.addCustomer("Simms","Jane");bank.addCustomer("Bryant","Owen");bank.addCustomer("Soley","Tim");bank.addCustomer("Soley","Maria");bank.getCustomer(0).setAccount(newAccount(500));bank.getCustomer(1).setAccount(newAccount(500));bank.getCustomer(2).setAccount(newAccount(500));bank.getCustomer(3).setAccount(newAccount(500));for(inti=0;i<bank.getNumOfCustomers();i++){Customerc=bank.getCustomer(i);Console.WriteLine("Customer["+(i+1)+"]is"+c.getFirstName()+","+c.getLastName());}Console.WriteLine("\nTestingCustomer'sAccou