爪哇国新游记之五----继承与接口

本文介绍了一种基于接口的设计模式,通过定义Countable接口来规范不同类型的交通工具(如Bus、Car、Truck等)的轮子数量获取方法。这种设计使得能够统一处理多种类型的交通工具,并简化了代码的编写与维护。
复制代码
// Car,Bus,Truck的基类
public
class Vehicle{ protected int wheelCount; }
// 所有类共同的接口
public interface Countable{ public final int a=9; public int getWheelCount(); } public class Bus extends Vehicle implements Countable{ public Bus(){ wheelCount=6; } @Override public int getWheelCount() { return wheelCount; } } public class Car extends Vehicle implements Countable{ public Car(){ wheelCount=4; } @Override public int getWheelCount() { return wheelCount; } } public class Truck extends Vehicle implements Countable{ public Truck(){ wheelCount=10; } @Override public int getWheelCount() { return wheelCount; } } public class Motor implements Countable{ @Override public int getWheelCount() { return 2; } } public class Tank implements Countable{ @Override public int getWheelCount() { return 0; } } public class Test{ public static void main(String[] args){ // 统一了诸类接口,所有实例都可放入一个数据结构,方便存储和计算 Countable[] arr=new Countable[7]; if(arr[1]==null){ System.out.println("arr[1]==null"); } arr[0]=new Bus(); arr[1]=new Car(); arr[2]=new Motor(); arr[3]=new Tank(); arr[4]=new Truck(); arr[5]=new Car(); arr[6]=new Car(); int sum=0; for(int i=0;i<arr.length;i++){ // 同一接口强制子类实现固定方法,方便了代码书写和测试 sum+=arr[i].getWheelCount(); } System.out.println("Sum="+sum); for(Countable c:arr){ // 同一接口强制子类实现固定方法,方便了代码书写和测试 sum+=c.getWheelCount(); } System.out.println("Sum="+sum); } }
复制代码
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值