java 实验报告(5)

2019-03-10 15:29

工学院计算机系 Java程序设计 实验指导

private int id;

public Employee(String n, double s,int id1) {

name = n; salary = s; id = id1; }

public String getName() {

return name; }

public void setName(String name1) {

name=name1; }

public void setSalary(double salary1) {

salary=salary1; }

public double getSalary() {

return salary; }

public int getId() {

return id; }

public void setId(int id1) {

id=id1; } }

21

工学院计算机系 Java程序设计 实验指导

2)定义子类Manager,Manager中覆盖父类的getSalary()方法,使得最后的工资是基本工资和奖金之和。在子类Manager中再定义一个可以设置职务信息的setter方法,同时定义一个可以获取职务信息的getter方法。 源代码如下:

class Manager extends Employee//定义Manager类,用来记录经理的姓名、薪水和员工编号信息 {

private String duty;//设置职务的成员变量 private double bonus;//设置奖金的成员变量

public Manager(String n, double s,int id1,String d) {

super(n,s,id1); duty=d; bonus=0; }

public String getDuty() {

return duty; }

public void setDuty(String duty1) {

duty=duty1; }

public void setBonus(double b)//设置奖金的方法 {

bonus=b; }

public double getSalary()//覆盖父类的getSalary()方法 {

double baseSalary=super.getSalary(); return baseSalary+bonus; } }

3)在主类TestInheritanceDemo中,先创建父类Employee的一个对象,并通过通过调用三个setter方法重新设置三个成员变量的值,并输出下列信息:“员工编号:1,姓名:

22

工学院计算机系 Java程序设计 实验指导

王笑,年薪:20000.0”。然后创建子类Manager的一个对象,并通过调用四个setter和getter方法,输出下列信息:“员工编号:2,姓名:李东,职务:经理,年薪:50000.0”。 源代码入下:

public class TestInheritanceDemo {

/** Creates a new instance of TestInheritanceDemo */ public TestInheritanceDemo() { }

public static void main(String args[]){

Employee e = new Employee(\张三\ e.setName(\王笑\ e.setId(1);

e.setSalary(20000);

System.out.println(\员工编号:\,姓名:\+ \年薪: \+ e.getSalary());

Manager m = new Manager(\李四\经理\ m.setName(\李东\ m.setId(2);

m.setBonus(30000);

System.out.println(\员工编号:\,姓名:\+ \职务: \+m.getDuty()+\年薪: \ } }

四.思考练习

1.设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法用来初始化类的这些属性,定义方法输出Dog的信息。编写应用程序使用Dog类。

2.定义一个接口ClassName,接口中只有一个抽象方法getClassName( ).设计一个类Horse,该类实现接口ClassName中的方法getClassName( ),功能是获取该类的leiming。编写应用程序使用Horse类。

23

工学院计算机系 Java程序设计 实验指导

实验十 类的多态性的运用

一、实验目的

通过本次实验,掌握类的多态的实现方法,能根据实际需要适当的运用类的多态

的实现方法。 二、实验内容

1. 通过一个计算圆的面积的实例,掌握类的继承与方法覆盖的运用。 算法分析:

1)定义一个父类Area,该类中有getarea方法根据输入半径用来计算圆的面积。 2)定义子类Circle,该子类在继承父类已有功能的基础上覆盖了getarea方法,返回半圆的面积。

3)定义主类AreaDemo,在主类AreaDemo中分别将父类和子类实例化,分别输出圆和半圆的面积。 2.成员方法重载的实验。 算法分析:

1) 定义一个名为IntSort的类,在该类中定义了两个同名方法sort分别实现对2

个整数和3个整数按从大到小的顺序输出的功能。

2)定义主类OverloadDemo,在主类OverloadDemo中,通过调用两个sort方法来实现对2个数和3个数的排序。 三、实验步骤

1、启动JCreator3.50。 2、新建一个名为chapter10的工程,保存路径在为“D:\\学号+姓名(用拼音)\\ chapter10”文件夹下。

3、通过选择[文件]菜单中的[新建文件]命令,实现创建Java运行程序。 四、通过一个计算圆的面积的实例,掌握类的继承与方法覆盖的运用。

通过选择[文件]菜单中的[新建文件]命令,实现以下实例内容。 源程序名:AreaDemo .java,以下操作均在AreaDemo .java中实现!

1.定义一个父类Area,该类中有getarea方法根据输入的半径用来计算圆的面积。

源代码如下:

package ch08; class Area{

float r;

float getArea(){ float s;

s=3.14f*r*r; return s; }

}

2.定义子类Circle,该子类在继承父类已有功能的基础上覆盖了getarea方法,返回半圆

24

工学院计算机系 Java程序设计 实验指导

的面积。

源代码如下:

class Circle extends Area{ float getArea(){ float s;

s=3.14f*r*r/2.0f; return s; }

//子类覆盖父类方法,返回半圆面积 }

3.定义主类AreaDemo,在主类AreaDemo中分别将父类和子类实例化,分别输出圆和半圆的面积。

public class AreaDemo {

/** Creates a new instance of AreaDemo */ public AreaDemo() { }

public static void main(String args[]){ //生成父类对象,并输出圆面积 Area a=new Area(); a.r=5.0f;

System.out.println(\的面积为:\ //生成子类对象,并输出半圆面积 Circle b=new Circle(); b.r=6.0f;

System.out.println(\的面积为:\ } }

五、成员方法重载的实验。

通过选择[文件]菜单中的[新建文件]命令,实现以下实例内容。

源程序名:OverloadDemo .java,以下操作均在OverloadDemo .java中实现!

1.定义一个名为IntSort的类,在该类中定义了两个同名方法sort分别实现对2个整数和3个整数按从大到小的顺序输出的功能。

两个数的排序源代码如下: public String sort(int a,int b){ if(a>b)

return a+\ \ else

return b+\ \

25


java 实验报告(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:肾上腺素与去甲肾上腺素

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: