版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、EXP2课题(项目)名称: 实验二 面向对象程序设计计划学时:2 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验目的1. 验证面向对象三大特性2. 学习封装的实现3. 学习继承的实现4. 编写多态实例5. 学习抽象类的使用6. 学习接口的使用实验要求1. 掌握封装的实现方法2. 掌握继承的编程方式和思想3. 理解多态现象4. 掌握抽象类和接口的使用实验内容与步骤1. 封装的实现(1) 编写程序模拟个人银行账号类。考虑个人银行的特点,建立类模型(注意属性和方法的访问权限修饰符)参考代码public class BankAcco
2、unt private String accountID;private String password;private int balance;public BankAccount(String accountID,String password,String operator)this.accountID=accountID;this.password=password;this.balance=0;System.out.println(Create a BankAccount);System.out.println(AccountID:+this.accountID);System.ou
3、t.println(Current Balance:+this.balance);System.out.println(Operator:+operator);System.out.println(Save Account info to Database);public void queryBalance(String password)if(password=this.password)System.out.println(Password OK);System.out.println(Current Account Balance:+this.balance);elseSystem.ou
4、t.println(Password Erro);public void changePassword(String oldPassword,String newPassword)if(oldPassword=this.password)System.out.println(Password OK);this.password=newPassword;System.out.println(Change Passord OK);elseSystem.out.println(Password Erro);public void deposit(int money,String operator)t
5、his.balance+=money;System.out.println(add balance OK.Operator:+operator);System.out.println(Save Account change to database);public void withdraw(String password,int money,String operator)if(password=this.password)System.out.println(Password OK);if(this.balancemoney)this.balance-=money;System.out.pr
6、intln(withdraw:+money+ ok, Operator:+operator );System.out.println(Current Account Balance:+this.balance);System.out.println(Save Account change to database);elseSystem.out.println(withdraw:+money+ erro. Because of not enough balance);elseSystem.out.println(Password Erro);(2) 编写测试类,完成如下(1)中类方法的测试实现如
7、下业务:开户,存款100,查询余额,取款50,查询余额,取款200,查询余额public class Test1 public static void main(String args) BankAccount bankaccount =new BankAccount(, , TOM);bankaccount.queryBalance();bankaccount.changePassword(,);bankaccount.deposit(100,TOM);bankaccount.withdraw(,50,TOM);2. 继承的实现(1) 按如下类图编写代码 参考代码class Person S
8、tring id;String name;String age;public void sleep() System.out.println(I am Person,I am sleeping);public void eat() System.out.println(I am Person,I am eating);class Student extends Person String sno;public void study() System.out.println(I am Student,I am studying);class Teacher extends Person Stri
9、ng tid;public void tech() System.out.println(I am Student,I am taching);(2) 编写测试类并创建main()方法,完成如下操作A 分别创建Person、Student、Teacher对象,完成属性和每个方法的调用测试B 在Student和Teacher中完成eat()方法的重写C 编写类型转化示例(向上类型转化、向下类型转化)3. 多态现象 在完成(2)中Student、Teacher类eat()方法重写后,在测试类中编写如下代码并在main()方法中调用static void askAllToEat(Person ps)
10、 for(int i=0;ips.length;i+) psi.eat(); psi.sleep(); 从以上代码中体会多态现象。public class Test2 public static void main(String args) Person person = new Person();person.sleep();person.eat();Student student = new Student();student.sleep();student.eat();student.study();Teacher teacher = new Teacher();teacher.slee
11、p();teacher.eat();teacher.tech();static void askAllToEat(Person ps) for (int i = 0; i ps.length; i+) psi.eat();psi.sleep();4. 抽象类的使用编写以上类图所示类,并编写测试代码测试抽象类的使用参考代码abstract class Printerprivate String printerType;Printer(String printerType)this.printerType=printerType;abstract void print(String txt);vo
12、id showMyType()System.out.println(My Type is:+printerType);class InkPrinter extends PrinterInkPrinter(String inkPrinterType)super(inkPrinterType);void print(String txt)System.out.println(I am Ink Printer);System.out.println(Start to Print:+txt);class LasertPrinter extends PrinterLasertPrinter(String
13、 laserPrinterType)super(laserPrinterType);void print(String txt)System.out.println(I am Lasert Printer);System.out.println(Start to Print:+txt);编写测试类及main() 方法,完成如下操作A. 创建Printer,InkPrinter,LaserPrinter类的对象。B. 设计并编写演示多态现象的代码5. 接口的使用编写以上类图的代码,并编写测试类测试接口的使用参考代码interface IScanvoid scan();abstract class
14、 Printerprivate String printerType;Printer(String printerType)this.printerType=printerType;abstract void print(String txt);void showMyType()System.out.println(My Type is:+printerType);abstract class InkPrinter extends PrinterInkPrinter(String inkPrinterType)super(inkPrinterType);void print(String txt)System.out.println(I am Ink Printer);System.out.println(Start to Print:+txt);class LasertPrinter extends PrinterLa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024会议服务综合劳务协议范本版B版
- 2024年三方担保电子商务支付合同范本一
- 2024年度专业足浴技师聘用协议样本版B版
- 2024年办公室员工餐饮服务协议样本版B版
- 2024年局部工程维护施工协议文件版
- 2024年度劳动合作协议模板指南版B版
- 2024年家居铝合金窗安装合同版B版
- 2024品牌橱柜购销合约书
- 2024年工程建设项目招标文件规范协议版B版
- 2024年产品销售合作及服务保障合同样本一
- 英语-Spotify的营销战略分析
- 《花生种植技术》课件
- 厂内自卸车安全操作规程
- 副食品安全保障措施
- 2024年北京市智能制造行业市场发展分析及发展趋势与投资前景研究报告2024-2029版
- 直播带货主播培训课件
- 高尔夫球场球童培训
- 冬季高血压的预防
- 我的家乡镇江
- 《口腔基础知识》课件
- 食堂消防安全知识培训内容
评论
0/150
提交评论