ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:127.59KB ,
资源ID:4009111      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4009111.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(14401048方萍3班实验.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

14401048方萍3班实验.docx

1、14401048方萍3班实验Java程序设计实验四:继承、多态与接口1. 提交期限和方法期限:第12周周五(2015-11-27)23:59 pm 方法:由学习委员收集所有学生的实验报告,以电子档的形式提交给任课教师(发邮箱: )。2. 实验目的及要求掌握Java的基本数据类型、运算符、表达式和语句。运行环境:开发环境:Eclipse3. 实验内容及题目3.1 子类的继承与方法的重写【题1 中国人与美国人】在Eclipse 中创建名为Lab4的新项目,编写程序模拟中国人、美国人、北京人。除主类外,程序中有4个类:People、ChinaPeople、AmericanPeople和Beijing

2、People类。要求如下:(1)People类有权限是protected的double型成员变量:height和weight,以及public void speakHello( )、public void averageHeight( )和public void averageWeight( )方法。(2)ChinaPeople类是People类的子类,新增了public void chinaGongfu( )方法。要求ChinaPeople重写父类的public void speakHello ()、public void averageHeight( )和public void avera

3、geWeight( )方法。(3)AmericanPeople类是People的子类,新增public void americanBoxing( )方法。要求AmericanPeople重写父类的public void speakHello( )、public void averageHeight( )和public void averageWeight( )方法。(4)BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera( )方法。要求BeijingPeople重写父类的public void speakHello( )、publi

4、c void averageHeight( )和public void averageWeight( )方法。运行效果如下图。按下列代码模板要求,将【代码】部分替换为Java程序代码。部分代码已给出:176 cm1. 3.2 成员变量隐藏与super关键字【题2 银行与利息】在Lab4项目中,编写程序。验证教材第5章81页的【例 5-7】。假设银行Bank已经有了按整年year计算利息的一般方法,其中year只能取正整数。如按整年计算的方法:Double compuerInterest()interest = year * * savedMoney;return interest;建设银行的天

5、利息计算公式为:dayInterst = 天数 * * 存款数大连银行的天利息计算公式为:dayInterst = 天数 * * 存款数参照例子中的建设银行或大连银行,再编写一个商业银行,让程序输出8000元存在商业银行8年零236天的利息。【知识点】1. 成员变量隐藏和方法重写;2. super关键字。【实验指导】1. 当super调用被隐藏的方法时,该方法中出现的成员变量是被子类隐藏的成员变量或继承的成员变量。2. 子类不继承父类的构造方法,因此,子类在其构造方法中需使用super来调用父类的构造方法,而且super必须是子类构造方法中的头一条语句,即如果在在子类的构造方法中,没有明显地写

6、出super关键字来调用父类的某个构造方法,那么默认有“super( );”。3. 类中定义多个构造方法时,建议包括一个不带参数的构造方法,以便子类可以省略“super( );”。【学生解答】(1)商业银行的程序代码:class Bank int savedMoney; int year; double interest; public double computerInterest() interest = year*savedMoney; return interest; class BusinessBank extends Bank double year; public double

7、computerInterest() = (int) year; double remainNumber = year - (int)year; int day = (int)(remainNumber*1000); interest = ()+day*savedMoney; %d元存在商业银行%d年零%d天的利息:%.2f元n,savedMoney,day,interest); return interest; public class Example5_2 public static void main(String args) BusinessBank bank1 = new Busin

8、essBank(); = 8000; = ; double interest1 = (); (2)商业银行的运行结果截图:3.3 接口【题3 歌手大赛与学生体重评估】在Lab4项目中,编写程序,要求模拟歌手大赛计算选手成绩和评估班级学生体重。歌手大赛计算选手成绩的方法是去掉一个最高分和一个最低分后再计算平均分,而学校评估一个班级的学生的体重时,是计算全班同学的平均体重。SongGame类和School类都实现了ComputerAverage接口,但实现方式不同。ComputerAverage类和Estimator主类的部分代码已给出(如下),按下列代码模板要求,将【代码】部分替换为Java程序

9、代码,并写出SongGame类和School类。/public interface ComputerAverage /接口 public double average(double x);/public class Estimator /主类 public static void main(String args) double a = , , , , , , ; double b = 56, , 65, 50, , , 70, 49, 66, 62, 46; ComputerAverage computer; computer = new SongGame(); /computer调用ave

10、rage(double x)方法,将数组a传递给参数x /【代码1】 %n); 歌手最后得分:%5.3fn, result); computer = new School(); /computer调用average(double x)方法,将数组b传递给参数x /【代码2】 学生平均体重:%5.2f kg, result); 运行效果如下图。【知识点】1. 接口体中只有常量的声明(没有变量)和抽象方法声明。而且接口体中所有的常量的访问权限一定都是public(允许省略public、final修饰符)、所有的抽象方法的访问权限一定都是public(允许省略public、abstract修饰符)。

11、2. 类实现接口,以便绑定接口中的方法。一个类可以实现多个接口,类通过使用关键字implements声明自己实现一个或多个接口。如果一个非抽象类实现了某个接口,那么这个类必须重写的所有方法。【实验指导】1. 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口方法。2. 接口产生的多态就是指不同类在实现同一个接口时可能具有不同的实现方式。【学生解答】(1)程序代码:【代码1】double result = (a);【代码2】result = (b);/ class SongGame implements ComputerAverage pub

12、lic double average(double x) double min=10,max=-20,sum=0; for(int i = 0;i;i+) if(xi=max) max = xi; sum+=xi; sum = sum - min - max; sum = (double)(sum/); return sum; /class School implements ComputerAverage public double average(double x) double sum = 0; for(int i = 0; i;i+) sum+= xi; double aver = (

13、double)(sum/; return aver; (2)运行结果截图:【思考题(选做)】School类如果不重写public double average(double x)方法,程序编译时提示怎样的错误【答:】3.4 接口回调(选做)【题4(选做) 天气预报】在Lab4项目中,编写一个天气预报的Java应用程序,天气可能出现不同的状态,要求用接口封装天气的状态,具体要求如下:(1)编写一个接口WeatherState,该接口有一个名字为void showState( )的方法。(2)编写Weather类,该类中有一个WeatherState接口声明的变量state。另外,该类有一个sho

14、w( )方法,在该方法中让接口state回调showstate( )方法。(3)编写若干个实现WeatherState接口的类,负责刻画天气的各种状态。(4)编写主类,在主类中进行天气预报。程序运行效果如下图。【知识点】掌握面向接口的编程思想:1. 程序设计时经常会使用接口,因为接口只关心操作,不关心这些操作具体实现的细节,可以使程序的设计者把主要精力放在程序的设计上,而不拘泥于细节的实现(细节留给接口的实现者),即避免设计者把大量的时间和精力花费与具体的算法上。2. 使用接口进行程序设计的核心技术之一是使用接口回调,即将实现接口的类的对象的引用放到接口变量中,那么这个接口变量就可以调用类实现

15、的接口方法。3. 面向接口编程,是指当设计某种重要的类是,不让该类面向具体的类,而是面向接口,即所设计类中的重要数据是接口声明的变量,而不是具体类声明的对象。【学生解答】(1)程序代码:/public interface WeatherState public void showState();/class TodayMoring implements WeatherState public void showState() 今天白天:多云,有时阴。); /class TodayNight implements WeatherState public void showState() 今天夜间

16、:小雨转大雨); / class TomorrowMoring implements WeatherState public void showState() 明天白天:小雨。); / class TomorrowNight implements WeatherState public void showState() 明天夜间:少云,有时晴); class weather WeatherState state ; void show(WeatherState state) (); public class WeatherForecast public static void main (St

17、ring args) WeatherState weath; weath = new TodayMoring(); (); weath = new TodayNight(); (); weather w = new weather(); (new TomorrowMoring(); /接口回调 (new TomorrowNight(); (2)运行结果截图:4. 提交要求本次实验需提交的文件包括:(1)实验报告的word文档,文件名格式为:学号姓名班级实验(例如:张三1班实验),将word文档的实验报告放入以“学号姓名班级实验X”命名的文件夹中。如下图所示。(2)Java源文件,建立一个以“学号姓名班级实验X”命名的文件夹(例如:张三1班实验1),文件夹里包含所要求建立的,以及项目中每题的Java源程序。如下图所示。本次实验为个人任务,需独立完成,以电子档的形式提交给学习委员,再由学习委员在规定期限内提交给任课老师。未按时提交实验报告者,每迟交一天扣一个等级分(比如,原本为A等级的,迟交一天降为A-),扣完为止。经辅导员同意并签字的事病假时间不计入迟交范围。凡被发现实验报告有抄袭者,本次成绩以零分记。5. 实验报告成绩等级划分成绩等级对应的百分制分数A+95 100A90 94A-85 89B+80 84B75 79B-70 74C+65 69C60 64C-50 59F0 49

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1