- 1
- 0
- 约1.97万字
- 约 92页
- 2018-02-13 发布于天津
- 举报
第5章 接口与多态;目录;5.1 接口;5.1.1 接口的作用及语法;接口允许我们在看起来不相干的对象之间定义共同行为;保险公司的例子
具有车辆保险、人员保险、公司保险等多种保险业务,在对外提供服务方面具有相似性,如都需要计算保险费(premium)等,因此可声明一个Insurable 接口
在UML图中,实现接口用带有空三角形的虚线表示;接口的语法
声明格式为
[接口修饰符] interface 接口名称 [extends 父接口名]{
…//方法的原型声明或静态常量
}
接口的数据成员一定要赋初值,且此值将不能再更改,允许省略final关键字
接口中的方法必须是“抽象方法”,不能有方法体,允许省略public及abstract关键字;例5.1中的Insurable 接口声明如下,可见其中的方法都是抽象方法
public interface Insurable {
public int getNumber();
public int getCoverageAmount();
public double calculatePremium();
public Date getExpiryDate();
};声明一个接口Shape2D,可利用它来实现二维的几何形状类Circle和Rectangle
把计算面积的方法声明在接口里
pi值是常量,把它声明在接口的数据成员里
interface Shape2D{ //声明Shape2D接口
final double pi=3.14; //数据成员一定要初始化
public abstract double area(); //抽象方法
}
在接口的声明中,允许省略一些关键字,也可声明如下
interface Shape2D{
double pi=3.14;
double area();
};5.1.2 实现接口;测试类
public class InterfaceTester {
public static void main(String args[]){
Rectangle rect=new Rectangle(5,6);
System.out.println(Area of rect = + rect.area());
Circle cir=new Circle(2.0);
System.out.println(Area of cir = + cir.area());
}
}
运行结果
Area of rect = 30.0
Area of cir = 12.56;声明接口类型的变量,并用它来访问对象
public class VariableTester {
public static void main(String []args)
{
Shape2D var1,var2;
var1=new Rectangle(5,6);
System.out.println(Area of var1 = + var1.area());
var2=new Circle(2.0);
System.out.println(Area of var2 = + var2.area());
}
}
输出结果
Area of var1 = 30.0
Area of var2 = 12.56
;MovableObject接口定义了所有“可移动对象”能做的事情
public interface? MovableObject {
public boolean??? start(); public void?????? stop(); public boolean??? turn(int degrees); public double???? fuelRemaining(); public void?????? changeSpeed(double kmPerHour);
};Plane、Car、 Train、 Boat 分别实现 MovableObject 接口
public class Plane implements? MovableObject {
public int?? seatCapacity;
public Company? owner;
public Date??lastRepairDate;
//实现MovalbelObject接口的所有方法
pu
您可能关注的文档
- 普外科各种引流管的护理介绍教学.ppt
- 普外科各种引流管的护理医学课幻灯片.ppt
- 七彩校园幻灯片.ppt
- 七律长征方案教学教程.ppt
- 七年级上册教材分析方案教学教程.ppt
- 七年级上学期期中家长会方案教学教程.ppt
- 七年级生物期末复习提纲教学(上册)方案教学教程.ppt
- 七年级下册复习提纲医学课生物复习幻灯片.ppt
- 七年级下期开学家长会方案教学教程.ppt
- 七年级英语上册unitA幻灯片.ppt
- 2026年社会服务行业投资策略报告-.pdf
- 2026年春部编版八年级下册语文教学计划(共2篇).docx
- 2026年春部编版七年级下册语文教学计划(2份).docx
- 2026年春部编版小学语文六年级下册教学计划(3份).docx
- 2026年春部编版小学语文五年级下册教学计划(2份).docx
- 2026年春部编版小学语文四年级下册教学计划(2份).docx
- 2026年春部编版小学语文三年级下册教学计划(2份).docx
- 人教版九年级下册英语教学计划(含中考备考进度表).docx
- 2025年宁夏工业职业学院马克思主义基本原理概论期末考试模拟题附答案解析(夺冠).pdf
- 2025年平顶山科技职业学院马克思主义基本原理概论期末考试模拟题带答案解析.pdf
最近下载
- 安全个人防护用品使用教程PPT课件.pptx VIP
- 部编人教版三年级下册语文全册教案.docx VIP
- 学前教育学 教案.docx VIP
- 高级英语(第四版)1_教学课件Lesson 2 Blackmail.ppt VIP
- Thompson_Motif-Index(翻译版).doc VIP
- 2025年商汤科技商业计划书.pptx VIP
- 一文读懂2026年中央一号文件PPT关于锚定农业农村现代化+扎实推进乡村全面振兴的意见课件.pptx VIP
- BYD比亚迪交流充电桩ACC01-07G S50-F说明书.pdf
- 郑桂华《安塞腰鼓》课堂实录.docx VIP
- 实验六视图的操作.docx VIP
原创力文档

文档评论(0)