JAVA第06周实验包接口与抽象类Word文件下载.docx

上传人:b****4 文档编号:7562408 上传时间:2023-05-08 格式:DOCX 页数:16 大小:371.07KB
下载 相关 举报
JAVA第06周实验包接口与抽象类Word文件下载.docx_第1页
第1页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第2页
第2页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第3页
第3页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第4页
第4页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第5页
第5页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第6页
第6页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第7页
第7页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第8页
第8页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第9页
第9页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第10页
第10页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第11页
第11页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第12页
第12页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第13页
第13页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第14页
第14页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第15页
第15页 / 共16页
JAVA第06周实验包接口与抽象类Word文件下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA第06周实验包接口与抽象类Word文件下载.docx

《JAVA第06周实验包接口与抽象类Word文件下载.docx》由会员分享,可在线阅读,更多相关《JAVA第06周实验包接口与抽象类Word文件下载.docx(16页珍藏版)》请在冰点文库上搜索。

JAVA第06周实验包接口与抽象类Word文件下载.docx

要求:

将上述程序分别保存并调试,写下运行结果和编译结果。

调试过程:

1)保存文件C2.java(注意:

在一个java源程序中只能有一条包语句)

2)编译:

javac–d.C2.java

3)运行:

javaP1.C2

2、//源程序2

packageP2;

classC3{}

将上述程序分别保存并调试,写下运行结果和编译结果

1)保存文件C3.java

javac–d.C3.java

javaP2.C3

3、将下述源程序保存并编译,观察并写下编译结果。

publicclassC4{}

4、将下述源程序保存并编译,观察并写下编译结果。

packageP1.pp1;

publicclassC5{}

 

____________________________________________________________________________________

【实验结果与分析】

1.

2,

3.

4.

____________________________________________________________________________

【实验目的】---抽象类与接口

◆理解掌握Java抽象类的继承与接口的实现

————————————————————————————————————————

二、抽象类与接口

1、运行程序,写下程序运行结果,理解抽象类的使用。

abstractclassAnimal

{

publicabstractvoidcry();

}

classDogextendsAnimal

{

publicvoidcry()

{System.out.println("

汪汪....."

}

}

publicclassTestDemo

{publicstaticvoidmain(Stringargs[])

{Animala;

a=newDog();

a.cry();

2、将抽象类Animal写成接口,并定义Dog类实现该结果,写成程序并给出运行结果

————————————————————————————————————————————————

1、

2、

interfaceAnimal

voidcry();

classDogimplementsAnimal

{Doga=newDog();

_______________________________________________________________________________

3、按照下面的要求,完成程序并给出程序的运行结果

定义接口:

InterfaceShape

{

floatPI=3.1415926;

voiddraw();

//绘制图形,在程序中用信息输出表示,如,绘制一个圆

doublegetArea();

//获取面积

doublegetCircumference()//周长

(1)分别定以下类(每个类必须继承接口Shape):

圆(Circle)

椭圆(Eclipse)

矩形(Rectangle)

三角形(Triangle)

(2)每个类的定义:

1)定义相应成员变量;

2)实现接口中定义的方法;

3)定义带参构造方法;

4)在程序中定义类TestShape,并在main方法中完成对各类的测试

________________________________________________________________________________

编写程序并给出运行结果:

interfaceShape

floatPI=3.1415926f;

//绘制图形,在程序中用信息输出表示,如,绘制一个圆

//获取面积

doublegetCircumference();

//周长

classCircleimplementsShape//圆

doubler;

publicCircle(doubler)

this.r=r;

publicvoiddraw()

System.out.println("

绘制一个半径为"

+r+"

的圆"

publicdoublegetArea()

returnPI*r*r;

publicdoublegetCircumference()

return2*PI*r;

classEclipseimplementsShape//椭圆

doublea,b;

publicEclipse(doublea,doubleb)

this.a=a;

this.b=b;

publicvoiddraw()

绘制一个长半轴为:

"

+a+"

\t短半轴为:

+b+"

的椭圆"

publicdoublegetArea()

returnPI*a*b;

publicdoublegetCircumference()

return2*PI*b+4*(a-b);

classRectangleimplementsShape//矩形

publicRectangle(doublea,doubleb)

绘制一个长为"

\t宽为:

的矩形"

returna*b;

return2*(a+b);

classTriangleimplementsShape//三角形

doublea,b,c;

publicTriangle(doublea,doubleb,doublec)

this.c=c;

绘制一个三边长分别为:

"

+c+"

的三角形"

doublel=(a+b+c)/2;

returnjava.lang.StrictMath.pow(l*(l-a)*(l-b)*(l-c),1.0/2);

returna+b+c;

publicclassTestShape

publicstaticvoidmain(String[]args)

Circlea=newCircle(3);

a.draw();

System.out.print("

面积Area="

+a.getArea()+"

周长Circumference="

+a.getCircumference());

Eclipseb=newEclipse(4,3);

b.draw();

+b.getArea()+"

+b.getCircumference());

Rectanglec=newRectangle(3.2,4.5);

c.draw();

+c.getArea()+"

+c.getCircumference());

Triangled=newTriangle(3,4,5);

d.draw();

+d.getArea()+"

+d.getCircumference());

4、按照下面的要求,完成程序并给出程序的运行结果

假定要为某个公司编写雇员工资支付程序,这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:

(1)经理(Manager)——每月获得一份固定的工资

(2)销售人员(Salesman)——在基本工资的基础上每月还有销售提成。

(3)一般工人(Worker)——则按他每月工作的天数计算工资。

根据上述要求试用类的继承和相关机制描述这些功能,并编写一个JavaApplication程序,演示这些类的用法。

(提示:

应设计一个雇员类(Employee)描述所有雇员的共图特性,这个类应该提供一个计算工资的抽象方法ComputeSalary(),使得可以通过这个类计算所有雇员的工资。

经理、销售人员和一般工人对应的类都应该继承这个类,并重新定义计算工资的方法,进而给出它的具体实现。

//Employee类的定义如下

abstractclassEmployee{

privateStringname;

publicEmployee(Stringname){

this.name=name;

publicStringgetName(){

returnname;

publicabstractdoublecomputeSalary();

_______________________________________________________________________________________________

编写程序并给出运行结果

importjava.util.Arrays;

importjava.util.Scanner;

abstractclassEmployee

classManagerextendsEmployee

staticprivatedoubleregularwages;

publicManager(Stringname,doubleregularwages)

super(name);

this.regularwages=regularwages;

publicdoublecomputeSalary()

returnregularwages;

classSalesmanextendsEmployee

staticprivateintsaleNumber;

staticprivatedoubleEveryBonus;

publicSalesman(Stringname,doubleregularwages,intsaleNumber,doubleEveryBonus)

this.saleNumber=saleNumber;

this.EveryBonus=EveryBonus;

returnregularwages+saleNumber*EveryBonus;

classWorkerextendsEmployee

staticprivateintworkdays;

staticprivatedoubledaysBonus;

publicWorker(Stringname,intworkdays,doubledaysBonus)

this.workdays=workdays;

this.daysBonus=daysBonus;

returnworkdays*daysBonus;

publicclassWagesCompute

publicstaticvoidmain(String[]args){

Scannerinput=newScanner(System.in);

欢迎进入本公司员工工资支付计算系统:

经理的工资(固定):

//经理工资

Managera=newManager("

王阳"

50000);

System.out.println(a.getName()+"

的月工资为:

+puteSalary());

销售人员的月工资:

//销售人员工资

请输入销售人员的姓名:

Stringsalesname=input.next();

请输入销售人员的每月固定工资:

doubleregualwages=input.nextInt();

请输入销售人员的月销售量:

intsaleNumber=input.nextInt();

请输入销售人员的每份销售提成:

doubleEveryBonus=input.nextInt();

Salesmanb=newSalesman(salesname,regualwages,saleNumber,EveryBonus);

System.out.println(b.getName()+"

一般员工的月工资:

//一般员工工资

请输入一般员工的姓名:

Stringworkname=input.next();

请输入一般人员的月工作天数:

intworkdays=input.nextInt();

请输入一般人员的每天工资:

doubledaysBonus=input.nextInt();

Workerc=newWorker(workname,workdays,daysBonus);

System.out.println(c.getName()+"

---------------------------------------------------实验作业上交说明

1、按照上面题目要求,完成实验,程序必须上机验证,如果程序没有正确运行结果,将记录“实验未完成”——将严重影响期末成绩。

2、实验文档要规范并且要编辑排版,先用WORD文档编辑,然后转换出PDF文档,文件名必须按照下面格式命名:

第*周实验+姓名+学号。

3、每周的实验文档,原则上周二上交(最迟在每周三晚8点前,过期按实验作业缺席处理)

4、上交实验文档方式:

Email至:

swjtujava@

5、发送Email时,Email主题必须是:

第*周实验+姓名+学号,否则不予处理

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

当前位置:首页 > 小学教育 > 语文

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

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