java实验报告8Word文档格式.docx

上传人:b****1 文档编号:4448345 上传时间:2023-05-03 格式:DOCX 页数:10 大小:50.22KB
下载 相关 举报
java实验报告8Word文档格式.docx_第1页
第1页 / 共10页
java实验报告8Word文档格式.docx_第2页
第2页 / 共10页
java实验报告8Word文档格式.docx_第3页
第3页 / 共10页
java实验报告8Word文档格式.docx_第4页
第4页 / 共10页
java实验报告8Word文档格式.docx_第5页
第5页 / 共10页
java实验报告8Word文档格式.docx_第6页
第6页 / 共10页
java实验报告8Word文档格式.docx_第7页
第7页 / 共10页
java实验报告8Word文档格式.docx_第8页
第8页 / 共10页
java实验报告8Word文档格式.docx_第9页
第9页 / 共10页
java实验报告8Word文档格式.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java实验报告8Word文档格式.docx

《java实验报告8Word文档格式.docx》由会员分享,可在线阅读,更多相关《java实验报告8Word文档格式.docx(10页珍藏版)》请在冰点文库上搜索。

java实验报告8Word文档格式.docx

周莉

学生姓名

班级学号

学院(系)

计算机软件学院

专业

计算机科学与技术

实验名称

抽象类和抽象方法

周莉

实验类型

上机

实验学时

2

2015-5-7

一、实验目的

1.掌握多态的实现

2.掌握抽象类和抽象方法的定义和使用

二、实验环境(实验设备)

1.每位学生配备计算机一台

2.计算机需安装好JDK和Jcreator

三、实验内容

1.首先编写一个抽象类,要求该抽象类有3个抽象方法:

Publicabstractvoidf(intx);

Publicabstractdoubleg(doublex);

Publicabstractdoubleh(doublex);

然后分别给出这个抽象类的3个子类。

要求:

在应用程序主类中使用这些子类创建对象,再让它们的上转型对象调用方法f()、g()和h()。

(1)源程序:

abstractclassA{

publicabstractvoidf(intx);

publicabstractvoidg(intx,inty);

publicabstractdoubleh(doublex);

}

classA1extendsA{

publicvoidf(intx){

System.out.println(x);

publicvoidg(intx,inty){

intz=x+y;

System.out.println(z);

}

publicdoubleh(doublex){

returnx*x;

classA2extendsA{

System.out.println("

Hello:

"

+x);

intz=x-y;

returnMath.sqrt(x);

classA3extendsA{

你好:

doublez=(double)x/y;

return1/x;

publicclassZuoYe5_2{

publicstaticvoidmain(Stringargs[]){

Aa=newA1();

a.f(10);

a.g(12,20);

System.out.println(a.h(100));

a=newA2();

a=newA3();

(2)实验结果:

2.设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出。

再从Person类派生出助教类(Assistant)、讲师类(Instructor)、副教授类(AssistantProfessor)和教授类(Professor)。

其中:

工资支出=基本工资+授课时数*每课时兼课金。

但助教基本工资为800,每课时兼课金25,讲师基本工资为1000,每课时兼课金35,

副教授基本工资为1200,每课时兼课金40,教授基本工资为1400,每课时兼课金50。

将Person定义为抽象类,pay为抽象方法,设计程序实现多态性。

(1)源程序:

abstractclassPerson{

protectedStringname;

protecteddoubleclassum;

publicPerson(){

this.name="

;

classum=0;

publicPerson(Stringname,doubleclassum){

this.name=name;

this.classum=classum;

abstractpublicdoublepay();

publicStringtoString(){

return"

姓名:

+this.name+"

\t工资支出:

+this.pay()+"

\n"

classAssistantextendsPerson{

publicAssistant(Stringname,doubleclassum){

super(name,classum);

publicdoublepay(){

return800+classum*25;

classInstructorextendsPerson{

publicInstructor(Stringname,doubleclassum){

return1000+classum*35;

classAssistantProfessonextendsPerson{

publicAssistantProfesson(Stringname,doubleclassum){

return1200+classum*40;

classProfessorextendsPerson{

publicProfessor(Stringname,doubleclassum){

return1400+classum*50;

publicclasssy8_2{

Personps[]=newPerson[4];

ps[0]=newAssistant("

张三"

120);

ps[1]=newInstructor("

赵二"

130);

ps[2]=newAssistantProfesson("

李四"

125);

ps[3]=newProfessor("

王五"

134);

Stringoutput="

for(inti=0;

i<

ps.length;

i++)

output+=ps[i];

System.out.println(output);

(2)实验结果:

3.定义一个抽象类Bank,它包含有oneyearRate(定期利率)、oneyearNationaldebt(国债利率)和interestRate(活期利率)常数和count()方法及show()方法。

Count()方法用于对本息合计(存款本金+利息)进行计算,而show()方法用于对本息合计进行显示。

由于对不同的存款方式,利率是不同的,因此此程序分别定义多个子类实现对抽象类的继承,实现对利率的计算和显示。

注意:

本程序定义了定期利率、活期利率、国债利率三种利率,按照一万元钱位存款单位进行统计,计算每种利率下存款一年后的本息合计。

除了国债外,其他利率都要交纳个人所得税20%。

abstractclassBank{

protectedstaticfinalfloatoneyearRate=0.0178f;

protectedstaticfinalfloatoneyearNationaldebt=0.0198f;

protectedstaticfinalfloatinterestRate=0.0078f;

abstractvoidcount();

abstractvoidshow();

classInterestRateCalcuteextendsBank{

privatefloatsaving;

privatedoublesum;

InterestRateCalcute(floati){

saving=i;

count();

publicvoidcount(){

sum=saving+(saving*Bank.interestRate*0.8);

publicvoidshow(){

Withcurrentinterestrate,sum="

+sum);

classOneyearNationaldebtCalcuteextendsBank{

OneyearNationaldebtCalcute(floati){

Withnationaldebtrate,sum="

classOneyearRateCalcuteextendsBank{

OneyearRateCalcute(floati){

publicvoidcount()

{

sum=saving+(saving*Bank.oneyearRate*0.8);

publicvoidshow()

Withfixedrate,sum="

classCalculate{

publicstaticvoidmain(Stringargs[])

intmon=10000;

OneyearRateCalcuterate=newOneyearRateCalcute(mon);

rate.show();

OneyearNationaldebtCalcutedebt=newOneyearNationaldebtCalcute(mon);

debt.show();

InterestRateCalcuteinterest=newInterestRateCalcute(mon);

interest.show();

四、实验小结(包括问题和解决方法、心得体会等)

本次实验中,我们主要练习编译了跟抽象类有关的相关程序。

其中主要包括已知抽象方法编写抽象类、抽象类抽象方法实现多态性、通过定义多个子类来实现对类的继承。

由于课前试验代码老师已经给出,所以我们完成得比较顺利。

通过本次实验,我基本掌握了实现多态的方法,也练习了抽象类和抽象方法的定义和使用,都掌握得比较好。

以后也还需要多加练习,能更加熟悉。

五、指导教师评语

成绩

批阅人

日期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2