题目如下:
工厂类用于根据客户提交的需求生产产品(火车、汽车或拖拉机)。火车类有两个子类属性:车次和节数。拖拉机类有1个子类方法耕地,方法只需简单输出“拖拉机在耕地”。为了简化程序设计,所有类的运输方法只需显示“。。。开始进行货物运输。”
需要编写Motor接口的子类:
三个子类Train、Car和Tractor,实现接口Motor,并覆写transport()方法。
需要编写工厂类Factory:
设计一个工厂类Factory,包含一个createMotor(String name)方法,此方法返回值为接口Motor的子类实例对象。
已有的车接口定义如下:
interface Motor
{public static float power=100;public static float carrier=100;public void transport();
}
已有的Main类定义:
/* 请在这里填写答案 */public class Main
{public static void main(String args[]){ Scanner scan=new Scanner(System.in);String name;name=scan.next();Motor m=Factory.createMotor(name);if(m==null)System.out.println("没有此类车。");elsem.transport();}
}
根据题目要求,代码实现如下:
class Train implements Motor {int number;int pitch;@Overridepublic void transport() {System.out.println("车次为30,节数为:20的火车开始进行货物运输。");}
}class Car implements Motor {@Overridepublic void transport() {System.out.println("汽车开始进行货物运输。");}
}class Tractor implements Motor {public void work() {System.out.println("拖拉机在耕地");}@Overridepublic void transport() {work();System.out.println("拖拉机开始进行货物运输。");}
}class Factory {public static Motor createMotor(String name) {if(name.equalsIgnoreCase("火车"))return new Train();else if(name.equalsIgnoreCase("汽车"))return new Car();else if(name.equalsIgnoreCase("拖拉机"))return new Tractor();elsereturn null;}
}
以上就是 PTA-6-45 工厂设计模式-运输工具 的全部内容了,希望能对你有所帮助!