最后是按老師的意思輸出了,但請(qǐng)問(wèn)有更簡(jiǎn)潔的代碼嗎?
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個(gè)交通工具,并且通過(guò)了父類對(duì)象引用賦值及其方法,最后都能夠輸入:
巴士特性:人數(shù):40運(yùn)輸方式:road
地鐵特性:人數(shù):1000運(yùn)輸方式:road
飛機(jī)特性:人數(shù):300運(yùn)輸方式:sky
輪船特性:人數(shù):800運(yùn)輸方式:sea
但是這樣的寫法太啰嗦,不知道有沒(méi)有同學(xué)有更簡(jiǎn)潔的代碼供參考?
2015-05-14
你這代碼就不符合面向?qū)ο笤瓌t 屬性字段為什么不封裝起來(lái) 直接訪問(wèn)這是大忌。要么構(gòu)造訪問(wèn)要么用getter setter。
2015-05-14
可以使用構(gòu)造函數(shù)。 Vehicle vic=new?Bike("road",1000);
??????????????????????????????????????????? vic.feature();
??????????????????????????????????????????? vic = new Bus("sky",800);
??????????????????????????????????????????? vic.feature();