java多態(tài) 多態(tài)開(kāi)關(guān)是干什么用的?
多態(tài)開(kāi)關(guān)是干什么用的?多態(tài)開(kāi)關(guān)通常用于選擇發(fā)動(dòng)機(jī)的功率曲線。根據(jù)車(chē)輛的負(fù)載或路況,選擇不同的功率曲線。例如,車(chē)輛空載時(shí)選擇較低的功率曲線,車(chē)輛重載時(shí)選擇較高的功率曲線,達(dá)到節(jié)油減排的目的。什么是多態(tài)?
多態(tài)開(kāi)關(guān)是干什么用的?
多態(tài)開(kāi)關(guān)通常用于選擇發(fā)動(dòng)機(jī)的功率曲線。根據(jù)車(chē)輛的負(fù)載或路況,選擇不同的功率曲線。例如,車(chē)輛空載時(shí)選擇較低的功率曲線,車(chē)輛重載時(shí)選擇較高的功率曲線,達(dá)到節(jié)油減排的目的。
什么是多態(tài)?面向?qū)ο蟪绦蛟O(shè)計(jì)為什么要引入多態(tài)的特性?使用多態(tài)有什么優(yōu)點(diǎn)?
多態(tài)性是多個(gè)狀態(tài)。
例如,有一個(gè)超類(lèi),它有兩個(gè)子類(lèi),子類(lèi)1和子類(lèi)2。
超類(lèi)有一個(gè)方法func(),它由兩個(gè)子類(lèi)重寫(xiě)。
然后我們可以定義一個(gè)超類(lèi)引用obj來(lái)指向一個(gè)子類(lèi)對(duì)象,比如超類(lèi)obj=new subclass 1();然后我們調(diào)用目標(biāo)函數(shù)當(dāng)使用()方法時(shí),它將被動(dòng)態(tài)綁定,即obj其實(shí)際類(lèi)型的func()方法,即子類(lèi)1的func()方法。
同樣,您可以編寫(xiě)超類(lèi)obj=new subclass 2();目標(biāo)函數(shù)()實(shí)際調(diào)用子類(lèi)2的func()方法。
由于子類(lèi)重寫(xiě)父類(lèi)的方法,然后指向引用父類(lèi)的子類(lèi)對(duì)象,所以調(diào)用方法時(shí)會(huì)進(jìn)行動(dòng)態(tài)綁定,稱(chēng)為多態(tài)性。
多態(tài)性在程序擴(kuò)展中起著非常重要的作用。例如,如果你想有一個(gè)子類(lèi)3,你需要改變很多少。如果使用配置文件,則可以保持源代碼不變。