Java 接口程序

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:49:49
为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java, Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,
举例如下: 计算Plane的时间:"java ComputeTime Plane 20 30 40" 计算Car007的时间:"java ComputeTime Car007 23 34 45"
如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44"

提示:充分利用接口的概念,接口对象充当参数。

* 扩展:(1) 怎样改为不用命令行,而在程序运行过程中输入Plane 20 30 40
(2) 怎样改用图形界面,在程序运行过程中输入Plane 20 30 40
【common.java】interface Common {
int S = 1000;
void Time();}
【Car007.java】import java.util.*;
public class Car007 implements Common {

public void Time() {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
Scanner scb = new

public interface CommonTime {

public int time(int a,int b,int cs);
}

public class BikeTime implements CommonTime {

public int time(int a, int b, int c) {

return a+b+c;
}

}

public class CarTime implements CommonTime {

public int time(int a, int b, int c) {

return a*b/c;
}

}

public class TimeTest {

public int getTime(CommonTime com,int a,int b,int c){
return com.time(a, b, c);
}

public static void main(String[] args) {

TimeTest tt=new TimeTest();
int rs=tt.getTime(new BikeTime(),10,5,1);
//传入4个参数 第一个是new CarTime() 的话结果是50 new BikeTime()是16
System.out.println(rs);
}

}

理解接口的概念就好了
主方只能接受String,命令行传参数我用的不多,不是很清楚

你这个命题是典型的策略模式(设计模式中的一种)

不同的交通工具就是每一个装在“锦囊”(接口)中的“锦囊妙计”(策略)

你可以搜索一下关键字“策略模式”

也可你看一下我这个故事:
刘备要到江东娶