第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

最后是按老師的意思輸出了,但請問有更簡潔的代碼嗎?

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

但是這樣的寫法太啰嗦,不知道有沒有同學有更簡潔的代碼供參考?

正在回答

2 回答

你這代碼就不符合面向?qū)ο笤瓌t 屬性字段為什么不封裝起來 直接訪問這是大忌。要么構(gòu)造訪問要么用getter setter。

2 回復 有任何疑惑可以回復我~
#1

lorenzt 提問者

謝謝提點!
2015-05-14 回復 有任何疑惑可以回復我~
#2

lorenzt 提問者

能否修改一小段看看,由于getter and setter 是首先先在父類定義好是嗎?
2015-05-14 回復 有任何疑惑可以回復我~
#3

lorenzt 提問者

能否給點代碼看看?
2015-05-14 回復 有任何疑惑可以回復我~
#4

你存在 回復 lorenzt 提問者

Vehicle這個不知道你定義的是接口還是一個類,假如他是一個類,你就根據(jù)它的具體功能來封裝它,首先就封裝它的屬性 sittingPeople 注意這個屬性要是private 是無法通過對象.sittingPeople獲取修改的,這時候你就需要有g(shù)etter setter方法在Vehicle類中 public void setSittingPeople(int sittingPeople){this.sittingPeople=sittingPeople}; public int getSittingPeople(){return this.sittingPeople;}
2015-05-14 回復 有任何疑惑可以回復我~
#5

lorenzt 提問者 回復 你存在

謝謝我已經(jīng)改好了,Vehicle(父類吧) 這個是一個類來的,里面的參數(shù)我已經(jīng)用private封裝了,然后利用sorce快速創(chuàng)建了getter and setter方法,然后再父類中也寫了feature方法void feature(){System.out.println(); 當然子類哪里會override這個方法 void feature(){System.out.println("單車特性:"+"人數(shù):"+getSittingPeople()+"運輸方式:"+getWayOfTranstpotaiton());}},然后最后在主函數(shù)(test類)在異一一賦值,最后能夠輸入,以下是代碼:
2015-05-14 回復 有任何疑惑可以回復我~
#6

lorenzt 提問者

其實還有有點不太明白(還是新手),就是我還是不明白,要是有人打開了我的Vehicle 類,修改里面的getter and setter方法這樣不也能夠把我的數(shù)據(jù)弄壞嗎?或者它直接把Vehicle類里面的private去掉或者改為public 等等這樣不都沒有起到“防盜”的作用?
2015-05-14 回復 有任何疑惑可以回復我~
查看3條回復

可以使用構(gòu)造函數(shù)。 Vehicle vic=new?Bike("road",1000);

??????????????????????????????????????????? vic.feature();

??????????????????????????????????????????? vic = new Bus("sky",800);

??????????????????????????????????????????? vic.feature();

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531116    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙

進入課程

最后是按老師的意思輸出了,但請問有更簡潔的代碼嗎?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號