清华大学java第章方案教学教程.pptVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档