首先,一辆车具有载人或载物或既能载人又能载物的功能。所以我把这个载人和载物的功能设置为借口,代码如下:
package com.car;
public interface ILoadPerson {
String str="装人:";
}
package com.car;
public interface ILoadThing {
String str="装货:";
}
其次,我们在根据车的信息创建一个抽象类,里面包括车名,车的出租价格,车里可坐人数,车可以装载的货物数量(如果不能装载,即为0),以及能表明车功能的两个方法。代码如下:
package com.car;
public abstract class Car {
String Name;
double rent;
int person;
int thing;
public abstract String load();
public abstract String load1();
}
然后使用继承和接口,创建车的类,比如:小卡车,大卡车,小轿车,公交车,皮卡。代码如下:(创建车的类的顺序:前面“比如”的顺序)
package com.car;
public class SmallTruck extends Car implements ILoadThing{
@Override
public String load1() {
// TODO Auto-generated method stub
return ILoadThing.str+this.thing+"/吨";
}
@Override
public String load() {
// TODO Auto-generated method stub
return "不"+ILoadPerson.str;
}
}
package com.car;
public class BigTruck extends Car implements ILoadThing {
@Override
public String load1() {
// TODO Auto-generated method stub
return ILoadThing.str+this.thing+"/吨";
}
@Override
public String load() {
// TODO Auto-generated method stub
return "不"+ILoadPerson.str;
}
}
package com.car;
public class Sedan extends Car implements ILoadPerson{
@Override
public String load() {
// TODO Auto-generated method stub
return ILoadPerson.str+this.person+"/人";
}
@Override
public String load1() {
// TODO Auto-generated method stub
return "不"+ILoadThing.str;
}
}
package com.car;
public class Bus extends Car implements ILoadPerson{
@Override
public String load() {
// TODO Auto-generated method stub
return ILoadPerson.str+this.person+"/人";
}
@Override
public String load1() {
// TODO Auto-generated method stub
return "不"+ILoadThing.str;
}
}
package com.car;
public class Pickup extends Car implements ILoadPerson,ILoadThing{
@Override
public String load() {
// TODO Auto-generated method stub
return ILoadPerson.str+this.person+"/人";
}
public String load1(){
return ILoadThing.str+this.thing+"/吨";
}
}
再者,我们可以创造一个类,用来管理和存放算法。由于代码过长,直接上图。(第一次做,做的不好,还望海涵)
最后创建一个测试类,测试一下是否能运行。代码如下:
package com.car
public class Test {
public static void main(String[] args){
Print pt=new Print();
pt.out();
}
}
PS:希望大家能与我多多交流,毕竟我也是第一次写,有什么不足的地方,谢谢大家指出。
热门评论
我还在学习当中,加油,作为一个初学者