課程
/后端開發
/Java
/Java入門第二季 升級版
這道題不用多態的話是 Chinese p=new Chinese;
用多態的話是? Person p=new Chinese;
表面看上去結果并沒有什么不同,這兩個的區別在哪里
2018-08-12
源自:Java入門第二季 升級版 11-2
正在回答
在這里是沒什么區別的。????????????? 有時候,你只有到運行時才知道要處理的對象是哪一種子類。比如設計一個學生類,再設計幾個子類,大學生、高中生、初中生。然后你有一個方法叫打分,方法的參數如果是學生對象,那寫一個方法就夠了,不管實際傳的是哪個子類的對象都能執行。但是沒有多態,你就得寫三個方法,每個方法的參數定義為一個子類。更要命的是如果以后又增加了學生類別,你還得改代碼寫新方法。? ? ? ? ? ? 多態是可以模擬現實生活的體現。就好像現實里的例子,火車站的一個普通售票窗口規定,誰都可以去排隊買票,但實際上卻可以因為買票人的身份不同,軍人、學生、兒童、成人等,有不同的售價,這樣的區別對待并不需要為每種人單開一個窗口才能做到,一個窗口就行,只要是“人”,都可以去排隊。用程序來實現這個流程時也一樣,人就是父類,而軍人、學生等,就是子類,只需要一個售票方法就夠了,參數是人類的對象,這就是多態的作用。
慕沐1990658 提問者
qq_慕瓜9564016
qq_慕絲3157114 回復 qq_慕瓜9564016
雖然能看懂2樓講的,但是通過樓主舉的例子里并不能理解多態
學霸985
言簡意賅
說的好有道理
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
4 回答多態有什么用?
1 回答多態有什么用
1 回答抽象類和多態有什么區別?什么時候用abstract什么時候不用?
2 回答多態引用,抽象類區別,利弊.
1 回答繼承,多態,抽象類的區別和適用范圍
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-08-12
在這里是沒什么區別的。
????????????? 有時候,你只有到運行時才知道要處理的對象是哪一種子類。
比如設計一個學生類,再設計幾個子類,大學生、高中生、初中生。
然后你有一個方法叫打分,方法的參數如果是學生對象,那寫一個方法就夠了,不管實際傳的是哪個子類的對象都能執行。但是沒有多態,你就得寫三個方法,每個方法的參數定義為一個子類。更要命的是如果以后又增加了學生類別,你還得改代碼寫新方法。
? ? ? ? ? ? 多態是可以模擬現實生活的體現。就好像現實里的例子,火車站的一個普通售票窗口規定,誰都可以去排隊買票,但實際上卻可以因為買票人的身份不同,軍人、學生、兒童、成人等,有不同的售價,這樣的區別對待并不需要為每種人單開一個窗口才能做到,一個窗口就行,只要是“人”,都可以去排隊。
用程序來實現這個流程時也一樣,人就是父類,而軍人、學生等,就是子類,只需要一個售票方法就夠了,參數是人類的對象,這就是多態的作用。
2018-09-16
雖然能看懂2樓講的,但是通過樓主舉的例子里并不能理解多態
2018-08-22
言簡意賅
2018-08-19
說的好有道理