亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

請問用多態和不用多態有什么區別啊

這道題不用多態的話是 Chinese p=new Chinese;

用多態的話是? Person p=new Chinese;

表面看上去結果并沒有什么不同,這兩個的區別在哪里

正在回答

4 回答

在這里是沒什么區別的。
????????????? 有時候,你只有到運行時才知道要處理的對象是哪一種子類。
比如設計一個學生類,再設計幾個子類,大學生、高中生、初中生。
然后你有一個方法叫打分,方法的參數如果是學生對象,那寫一個方法就夠了,不管實際傳的是哪個子類的對象都能執行。但是沒有多態,你就得寫三個方法,每個方法的參數定義為一個子類。更要命的是如果以后又增加了學生類別,你還得改代碼寫新方法。
? ? ? ? ? ? 多態是可以模擬現實生活的體現。就好像現實里的例子,火車站的一個普通售票窗口規定,誰都可以去排隊買票,但實際上卻可以因為買票人的身份不同,軍人、學生、兒童、成人等,有不同的售價,這樣的區別對待并不需要為每種人單開一個窗口才能做到,一個窗口就行,只要是“人”,都可以去排隊。
用程序來實現這個流程時也一樣,人就是父類,而軍人、學生等,就是子類,只需要一個售票方法就夠了,參數是人類的對象,這就是多態的作用。

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

慕沐1990658 提問者

非常感謝!
2018-08-14 回復 有任何疑惑可以回復我~
#2

qq_慕瓜9564016

雖然能看懂但還是不太理解,既然分類了那就是每類的具體實現方法又有區別,就要重寫方法,最后用到的還是子類里的方法,那和子類引用本類到底有什么區別
2019-10-06 回復 有任何疑惑可以回復我~
#3

qq_慕絲3157114 回復 qq_慕瓜9564016

假如大學生,高中生都是全票,就可以直接用父類的方法,初中生是半票,就只需要在初中生子類里重寫此方法,如果不用多態,那么每個子類都需要重寫買票方法。把相同的買票方法,只用一個方法放進父類中,這大大節省了代碼。
2020-02-17 回復 有任何疑惑可以回復我~

雖然能看懂2樓講的,但是通過樓主舉的例子里并不能理解多態

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

學霸985

我也聽得迷迷糊糊的,,
2019-02-20 回復 有任何疑惑可以回復我~

言簡意賅

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

說的好有道理

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

舉報

0/150
提交
取消

請問用多態和不用多態有什么區別啊

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號