1 / 4
文档名称:

第六讲类、对象和接口(二).doc

格式:doc   大小:32KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第六讲类、对象和接口(二).doc

上传人:ipod0b 2018/11/14 文件大小:32 KB

下载得到文件列表

第六讲类、对象和接口(二).doc

文档介绍

文档介绍:第六讲类、对象和接口(二)
1 类的继承
继承是类的另一个特性。继承的意义在于:我们重复使用或更改现成的类的方法,也可以加入新的数据成员以及新的方法,以满足新环境的需要。这种技术是所有面向对象的编程语言的一个基本特征。
让我们来看一个例子:前面我们定义了一个Employee类,这只是普通员工,现在我们要定义一个经理类。经理也是员工的一种,所以Employee类中的数据和方法他也应该有;但经理又不同于普通员工,经理有秘书,而且涨工资的时候还要加上分红。怎么办?我们要不要从头开始写一个经理类?
有了继承的技术,我们可以在Employee类的基础上,编写我们的Manager类。程序如下:
package teach4;
import ;

class Manager extends Employee
{
private String secretaryName;


public Manager(String n, double s, int d)
{ super(n, s, d);
secretaryName = "";
}

public void raiseSalary(double byPercent)
{ // add 1/2% bonus for every year of service
Date today = new Date(2001,1,1);
double bonus = * (() - getHireYear());
(byPercent + bonus);
}

public void setSecretaryName(String n)
{ secretaryName = n;
}

public String getSecretaryName()
{ return secretaryName;
}
}
我们以这个例子为例,学****继承的用法。
首先,请注意这个类的头部有些不同:class Manager extends Employee;其中,关键字extends是扩展的意思,表明Manager类是从Employee类继承而来。我们把Employee叫做父类或者超类,把Manager叫做子类或者衍生类。一般来说,子类比父类有更多的功能。
Manager的构造方法中有个语句:super(n, s, d),super是一个关键字,意思是调用父类的方法,在这里是父类,也就是Employee的构造方法;类似地,(byPercent + bonus)表示调用父类Employee的raiseSalary方法。所以,如果要在子类中调用父类的方法,使用super。
Manage的构造方法调用了E
mployee的构造方法。事实上,一般要求子类用super语句调用父类的构造方法并附上恰当的参数。如果没有用super调用,将默认地调用父类的默认构造方法,这时,如果父类没有没有默认的构造方法,编译器将报错。在子类的构造方法中,如果有super语句,要求super语句在第一行。