




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- CCF全国青少年信息学奥林匹克联赛NOIP 2020真题
- 员工包吃伙食合同协议
- 商业保理转让合同协议
- 德佑签定金协议后签买卖合同
- 售车购销合同协议
- 母婴店投资入股合同协议
- 2025合作协议合同模板
- 2025按摩师劳动合同范本
- 2025广州产品经销合同范本
- 商场建筑水电合同协议
- 某大型商场机电项目施工组织设计
- 人教版必修二地理-4.1区域发展对交通运输布局的影响(以川藏线为例)(教学设计)
- 2025届湖北省高考冲刺物理模拟试题含解析
- 基础摄影考试题目及答案
- 2025年上半年黑龙江牡丹江市“市委书记进校园”活动暨“雪城优才”企事业单位人才招聘1324人易考易错模拟试题(共500题)试卷后附参考答案
- 医院培训课件:《老年认知功能障碍》
- 二零二五版用工单位与劳务派遣公司合同
- 海姆立克急救科普知识
- 心力衰竭的护理业务查房
- 海底捞服务员岗位职责
- 五一安全教育主题班会
评论
0/150
提交评论