没有合适的资源?快使用搜索试试~ 我知道了~
实验三Java面向对象高级编程.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 81 浏览量
2021-10-06
08:08:56
上传
评论
收藏 112KB DOC 举报
温馨提示
试读
13页
实验三Java面向对象高级编程.doc
资源推荐
资源详情
资源评论
- -
实验三 Java 面向对象高级编程
一、实验目的
1. 掌握 Java 面向对象编程技术
2. 能够使用继承创立子类并实现方法覆盖
3. 能够创立异类集合并使用多态
4. 能够创立抽象类和接口,并探究它们的多态特性
二、预备知识
1. JDK 的安装设置:JDK/JRE/JVM;
2. Eclipse 集成开发环境的绿色安装;
3. 掌握 Java 语言的面向对象特性〔封装性、继承性、多态性〕;
4. 掌握 Java 语言的抽象类和接口。
三、实验描述
1. 实验类型:设计
2. 实验学时:4 学时
3. 实验容:2 项〔参照四〕
四、实验容
(1) 检查所使用的计算机系统:
1. 确认是否已安装 JDK,并确认系统的环境变量设置;
2. 确认是否已绿色安装 Eclipse 集成开发环境。
(2) 实验容一:使用继承和方法覆盖创立子类,并能够创立异类集合并使用多态
具体要求:
1. 在上述银行工程中,创立 Customer 类:
·位于包:.mybank.domain 中;
· 向 Customer 类 添 加 四 个 实 例 变 量 :
&rstName , lastName , accounts 〔 Account 对 象 数 组 , 长 度 为 10 〕 和
numberOfAccounts〔记录 accounts 数组索引的一个整数〕;
·添加一个公有构造方法:两个形式参数 &rstName,lastname,用于初始化客户、
创立 accounts 数组和初始化 accounts 数组元素个数 numberOfAccounts;
·添加 getFirstName 方法:该方法返回客户的 &rstName 实例变量;
·添加 getLastName 方法:该方法返回客户的 lastName 实例变量;
·添加 addAccount 方法:该方法有一个形式参数〔即 Account 对象〕,数组的下标
通过实例变量 numberOfAccounts 实现递增,同时将该参数对象存储在 accounts
数组中;
·添加 getNumberOfAccounts 方法:该方法返回 numberOfAccounts 实例变量;
·添加 getAccount 方法:该方法返回与指定的 index 数组下标相关的对象。
2. 创立 SavingsAccount 类,该类是 Account 类的子类:
·位于包:.mybank.domain 中;
·向 SavingsAccount 类中添加 interestRate 实例变量;
·添加一个有两个参数的公有构造方法:initBalance 和 interestRate。调用父类构造
- - word.zl-
- -
方法传递 initBalance 参数,并初始化实例变量 interestRate;
·添加 accumulateInterest 方法:用于计算客户的利息。
3. 创立 CheckingAccount 类,Account 类的子类:
·位于包:.mybank.domain 中;
·向 CheckingAccount 类中添加 overdraftAmount 实例变量;
·添加一个有两个参数的公有构造方法:initBalance 和 overdraftAmount。调用父
类构造方法传递 initBalance 参数,并初始化实例变量 overdraftAmount;
·添加只有一个参数 initBalance 的另一个公有构造方法。用 initBalance 参数和
overdraftAmount 参数调用第一个构造方法,其中 overdraftAmount 参数使用默
认值 0.0;
·覆盖 withdraw 方法,方法参数为 amount,balance 变量继承于父类。下面是
withdraw 方法的伪码:
if (balance < amount)
then
double overdraftNeeded = amount – balance
if (overdraftAmount < overdraftNeeded)
then transaction fails
else
balance = 0.0
decrement overdraftAmount by overdraftNeeded
else
decrement balance by amount
4. 创立 TestBanking 类:
·该类文件位于包:.mybank.test
·该类有程序入口 main()函数;
·要求:创立一名客户的假设干个不同类型的账户信息,然后依次访问每一个账户,并
根据不同类型的账户信息做出不同的操作。〔要求使用 instanceof 运算符测试判断
账户的类型信息,如果是 SavingsAccount,那么计算账户的利息;如果是
CheckingAccount,那么进展取钱操作,可以进展适当额度的透支〕;
·最后输出客户账户的余额信息。
(4) 实验容二:能够创立抽象类和接口,并探究它们的多态特性
具体要求:
1. 创立工程:InterfaceProject;
2. 创立 Animal 类,该类是抽象类:
·声明一个受保护的整数实例变量 legs,记录动物的腿的数目;
·定义一个受保护的构造方法来初始化 legs 实例变量;
·声明抽象方法 eat;
·声明具体方法 walk 来显示与动物行走方式有关的信息〔包括腿的数目〕;
3. 创立 Pet 接口:声明三个抽象方法:
public String getName();
public void setName(String n);
public void play();
4. 创立 Spider 类:
- - word.zl-
- -
·Spider 类扩展了 Animal 类;
·定义一个无参数构造方法,调用父类构造方法来指明所有蜘蛛都有八条腿;
·实现 eat 方法;
5. 创立 Cat 类:
·声明 String 实例变量来存储宠物的名字;
·定义一个构造方法,使用 String 参数来指定猫的名字;该构造方法必须调用父类构
造方法来指明所有猫都有四条腿;
·另外定义一个无参数的构造方法,该构造方法调用上一个构造方法〔使用 this 关键
字〕来传递一个空字符串作为参数;
·实现 Pet 接口方法;
·实现 eat 方法;
6. 创立 Fish 类:
·声明 String 实例变量来存储宠物的名字;
·定义一个无参数的构造方法,该构造方法调用父类构造方法来指明鱼没有腿;
·实现 Pet 接口方法;
·覆盖 walk 方法,该方法调用所有的超级方法,并打印输出一条说明鱼不会行走的消
息;
·实现 eat 方法;
7. 创立 TestAnimal 类:
·该类有程序入口 main()函数;
·创立并操作前面所创立的类的实例;
·调用每个对象中的方法;
·对象类型转换;
·使用多态特性;
·使用 super 关键字调用父类方法。
五、实验要求及总结
1. 结合上课容,对上述程序先阅读,然后上机并调试程序,并对实验结果写出你自己的分
析结论。
2. 整理上机步骤,总结经历和体会。
3. 完成实验报告和上交程序。
实验三 1:
实验结果:
- - word.zl-
剩余12页未读,继续阅读
资源评论
gjmm89
- 粉丝: 13
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功