最后是按老師的意思輸出了,但請問有更簡潔的代碼嗎?
public?class?Test?{
???public?static?void?main(String[]?args)?{
???Vehicle?bike=new?Bike();
???????Vehicle?bus=new?Bus();
???????Vehicle?metro=new?Metro();
???????Vehicle?plane=new?Plane();
???????Vehicle?ship=new?Ship();
???????bike.sittingPeople=1;
???????bike.wayOfTranstpotaiton="road";
???????bus.sittingPeople=40;
???????bus.wayOfTranstpotaiton="road";
???????metro.sittingPeople=1000;
???????metro.wayOfTranstpotaiton="road";
???????plane.sittingPeople=300;
???????plane.wayOfTranstpotaiton="sky";
???????ship.sittingPeople=800;
???????ship.wayOfTranstpotaiton="sea";
???????bike.feature();
???????bus.feature();
???????metro.feature();
???????plane.feature();
???????ship.feature();
???????
}???????????
}我創(chuàng)建了5個交通工具,并且通過了父類對象引用賦值及其方法,最后都能夠輸入:
巴士特性:人數(shù):40運輸方式:road
地鐵特性:人數(shù):1000運輸方式:road
飛機特性:人數(shù):300運輸方式:sky
輪船特性:人數(shù):800運輸方式:sea
但是這樣的寫法太啰嗦,不知道有沒有同學(xué)有更簡潔的代碼供參考?
2015-05-14
你這代碼就不符合面向?qū)ο笤瓌t 屬性字段為什么不封裝起來 直接訪問這是大忌。要么構(gòu)造訪問要么用getter setter。
2015-05-14
可以使用構(gòu)造函數(shù)。 Vehicle vic=new?Bike("road",1000);
??????????????????????????????????????????? vic.feature();
??????????????????????????????????????????? vic = new Bus("sky",800);
??????????????????????????????????????????? vic.feature();