題目如下:? ? ? ??
工廠類用于根據客戶提交的需求生產產品(火車、汽車或拖拉機)。火車類有兩個子類屬性:車次和節數。拖拉機類有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 工廠設計模式-運輸工具?的全部內容了,希望能對你有所幫助!