第5章 接口与多态
郑莉
Programming in JAVA
1
最新版整理ppt
目录
接口
塑型
多态的概念
多态的应用
构造方法与多态
内部类
本章小结
2
最新版整理ppt
接口
接口
与抽象类一样都是定义多个类的共同属性
使抽象的概念更深入了一层,是一个“纯”抽象类,它只提供一种形式,并不提供实现
允许创建者规定方法的基本形式:方法名、参数列表以及返回类型,但不规定方法主体
也可以包含基本数据类型的数据成员,但它们都默认为static和final
3
最新版整理ppt
接口的作用及语法
接口的作用
是面向对象的一个重要机制
实现多继承,同时免除C++中的多继承那样的复杂性
建立类和类之间的“协议”
把类根据其实现的功能来分别代表,而不必顾虑它所在的类继承层次;这样可以最大限度地利用动态绑定,隐藏实现细节
实现不同类之间的常量共享
接口
4
最新版整理ppt
接口允许我们在看起来不相干的对象之间定义共同行为
接口的作用及语法 ——与抽象类的不同
接口
5
最新版整理ppt
保险公司的例子
具有车辆保险、人员保险、公司保险等多种保险业务,在对外提供服务方面具有相似性,如都需要计算保险费(premium)等,因此可声明一个Insurable 接口
在UML图中,实现接口用带有空三角形的虚线表示
接口的作用及语法 ——例5_1
<<Interface>>
Insurable
Company
Person
Car
接口
6
最新版整理ppt
接口的语法
声明格式为
[接口修饰符] interface 接口名称 [extends 父接口名]{
…//方法的原型声明或静态常量
}
接口的数据成员一定要赋初值,且此值将不能再更改,允许省略final关键字
接口中的方法必须是“抽象方法”,不能有方法体,允许省略public及abstract关键字
接口的作用及语法
接口
7
最新版整理ppt
接口声明如下,可见其中的方法都是抽象方法
public interface Insurable {
public int getNumber();
public int getCoverageAmount();
public double calculatePremium();
public Date getExpiryDate();
}
接口的作用及语法 ——例5_1保险接口的声明
接口
8
最新版整理ppt
声明一个接口Shape2D,可利用它来实现二维的几何形状类Circle和Rectangle
把计算面积的方法声明在接口里
pi值是常量,把它声明在接口的数据成员里
interface Shape2D{ //声明Shape2D接口
final double pi=; //数据成员一定要初始化
public abstract double area(); //抽象方法
}
在接口的声明中,允许省略一些关键字,也可声明如下
interface Shape2D{
double pi=;
double area();
}
接口的作用及语法 ——例5_2
接口
9
最新版整理ppt
实现接口
接口的实现
接口不能用new运算符直接产生对象,必须利用其特性设计新的类,再用新类来创建对象
利用接口设计类的过程,称为接口的实现,使用implements关键字
语法如下
public class 类名称 implements 接口名称 {
/* Bodies for the interface methods */
/* Own data and methods. */
}
必须实现接口中的所有方法
来自接口的方法必须声明成public
接口
10
最新版整理ppt
Java学习课件 第5章 来自淘豆网m.daumloan.com转载请标明出处.