最后是按老師的意思輸出了,但請問有更簡潔的代碼嗎?
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
但是這樣的寫法太啰嗦,不知道有沒有同學有更簡潔的代碼供參考?
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();