实验二-面向对象程序设计_第1页
实验二-面向对象程序设计_第2页
实验二-面向对象程序设计_第3页
实验二-面向对象程序设计_第4页
实验二-面向对象程序设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上EXP2课题(项目)名称: 实验二 面向对象程序设计计划学时:2 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验目的1. 验证面向对象三大特性2. 学习封装的实现3. 学习继承的实现4. 编写多态实例5. 学习抽象类的使用6. 学习接口的使用实验要求1. 掌握封装的实现方法2. 掌握继承的编程方式和思想3. 理解多态现象4. 掌握抽象类和接口的使用实验内容与步骤1. 封装的实现(1) 编写程序模拟个人银行账号类。考虑个人银行的特点,建立类模型(注意属性和方法的访问权限修饰符)参考代码public c

2、lass BankAccount 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("Accou

3、ntID:"+this.accountID);System.out.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("Passw

4、ord OK");System.out.println("Current Account Balance:"+this.balance);elseSystem.out.println("Password Erro");public void changePassword(String oldPassword,String newPassword)if(oldPassword=this.password)System.out.println("Password OK");this.password=newPassword;Sy

5、stem.out.println("Change Passord OK");elseSystem.out.println("Password Erro");public void deposit(int money,String operator)this.balance+=money;System.out.println("add balance OK.Operator:"+operator);System.out.println("Save Account change to database");public

6、 void withdraw(String password,int money,String operator)if(password=this.password)System.out.println("Password OK");if(this.balance>money)this.balance-=money;System.out.println("withdraw:"+money+" ok, Operator:"+operator );System.out.println("Current Account Ba

7、lance:"+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)中类方法的测试实现如下业务:开户,存款100,查询余额,取款50,查询余额,取款2

8、00,查询余额public class Test1 public static void main(String args) BankAccount bankaccount =new BankAccount("", "", "TOM");bankaccount.queryBalance("");bankaccount.changePassword("","");bankaccount.deposit(100,"TOM");bankaccount.withd

9、raw("",50,"TOM");2. 继承的实现(1) 按如下类图编写代码 参考代码class Person String 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

10、;public void study() System.out.println("I am Student,I am studying");class Teacher extends Person String tid;public void tech() System.out.println("I am Student,I am taching");(2) 编写测试类并创建main()方法,完成如下操作A 分别创建Person、Student、Teacher对象,完成属性和每个方法的调用测试B 在Student和Teacher中完成eat()方法的重写

11、C 编写类型转化示例(向上类型转化、向下类型转化)3. 多态现象 在完成(2)中Student、Teacher类eat()方法重写后,在测试类中编写如下代码并在main()方法中调用static void askAllToEat(Person ps) for(int i=0;i<ps.length;i+) psi.eat(); psi.sleep(); 从以上代码中体会多态现象。public class Test2 public static void main(String args) Person person = new Person();person.sleep();person

12、.eat();Student student = new Student();student.sleep();student.eat();student.study();Teacher teacher = new Teacher();teacher.sleep();teacher.eat();teacher.tech();static void askAllToEat(Person ps) for (int i = 0; i < ps.length; i+) psi.eat();psi.sleep();4. 抽象类的使用编写以上类图所示类,并编写测试代码测试抽象类的使用参考代码abstr

13、act class Printerprivate String printerType;Printer(String printerType)this.printerType=printerType;abstract void print(String txt);void showMyType()System.out.println("My Type is:"+printerType);class InkPrinter extends PrinterInkPrinter(String inkPrinterType)super(inkPrinterType);void pri

14、nt(String txt)System.out.println("I am Ink Printer");System.out.println("Start to Print:"+txt);class LasertPrinter extends PrinterLasertPrinter(String laserPrinterType)super(laserPrinterType);void print(String txt)System.out.println("I am Lasert Printer");System.out.pri

15、ntln("Start to Print:"+txt);编写测试类及main() 方法,完成如下操作A. 创建Printer,InkPrinter,LaserPrinter类的对象。B. 设计并编写演示多态现象的代码5. 接口的使用编写以上类图的代码,并编写测试类测试接口的使用参考代码interface IScanvoid scan();abstract class Printerprivate String printerType;Printer(String printerType)this.printerType=printerType;abstract void p

16、rint(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 PrinterLasert

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论