求大神指點(diǎn)更優(yōu)化的寫法
//父類
package traffic;
public class Vehicle {
int Pop ;//運(yùn)輸工具的可載人數(shù)
String Move;//運(yùn)輸方式
String Models;//工具類型
public void moveCar(){
System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么
}
}
//子類 汽車
package traffic;
public class Car extends Vehicle {
public void moveCar(){
Pop = 5;
Move = "陸地";
Models = "汽車";
System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么
}
}
//子類 飛機(jī)
package traffic;
public class Aircraft extends Vehicle {
public void moveCar(){
Pop = 50;
Move = "天空";
Models = "飛機(jī)";
System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么
}
}
//子類飛機(jī)
package traffic;
public class Ship extends Vehicle {
public void moveCar(){
Pop = 50;
Move = "海上";
Models = "輪船";
System.out.println(Models + "在" + Move +"一次可運(yùn)輸:" + Pop + "人");//創(chuàng)建方法 交通工具可以干什么
}
}
//演示
package traffic;
public class AppliCation {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Vehicle traFFic = new Vehicle();
Vehicle carModel = new Car();
Vehicle carMode2 = new Aircraft();
Vehicle carMode3 = new Ship();
carModel.moveCar();
carMode2.moveCar();
carMode3.moveCar();
}
}
求大神看看這么寫對(duì)不對(duì),另外我感覺這種不方便,如果想要隨時(shí)往里面?zhèn)鲄?shù),應(yīng)該怎么寫?有沒有更優(yōu)化的方法讓在下參考下?
2017-06-18
你既然每個(gè)都繼承了Vehicle,就直接調(diào)用方法啊,沒必要每個(gè)都去重寫啊,你這樣的繼承毫無意義啊,還不如每個(gè)單獨(dú)寫。
public class Ship extends Vehicle {
public Ship(String Models,String Move,int Pop){
this.Models = Models;
this.Move = Move;
this.Pop = Pop;
}
}
我們只需要給不同的運(yùn)輸方式賦不同的值就行了。
2017-06-28
請(qǐng)大神看一下,這樣可以嗎?還可以優(yōu)化嗎?
2017-06-18
2017-06-18
我也是初學(xué)者,稍微的改了一下,不知道是不是你想要的效果