什麼是物件導向的多型性,什麼叫做物件導向的 多型性???

2021-03-20 04:29:19 字數 5793 閱讀 6176

1樓:匿名使用者

多型是所有語言都是一樣的,c#和別的語言沒有什麼不同主要是子類繼承父類,並重寫父類的方法,實現了不同的操作比如:public class 父類

public class 子類1:父類

}public class 子類2:父類

}應用:

父類 a = new 子類1();

console.write(a.m());

a = new 子類2();

console.write(a.m());

上面都是呼叫a.m(),輸出的結果卻不一樣,這就是多型了

2樓:老采薇可璠

多型性,就是乙個父類的引用變數,可以指向其任意乙個子類物件。

例如,乙個animal類,其子類有cat與dog,然後你建立乙個父類animal的引用animalalpha,然後它可以指向cat的物件cat1,或指向dog的物件dog1。

主要有時在程式設計時,未來有那些子類有時是未知的,這樣在你用乙個父類的引用變數來完成某些功能,就可以相容後來出現的子類。

3樓:匿名使用者

通過繼承,乙個類可以用作多種型別:可以用作它自己的型別、任何基型別,或者在實現介面時用作任何介面型別。這稱為多型性。

c# 中的每種型別都是多型的。型別可用作它們自己的型別或用作 object 例項,因為任何型別都自動將 object 當作基型別。

多型性不僅對派生類很重要,對基類也很重要。任何情況下,使用基類實際上都可能是在使用已強制轉換為基類型別的派生類物件。基類的設計者可以**到其基類中可能會在派生類中發生更改的方面。

例如,表示汽車的基類可能包含這樣的行為:當考慮的汽車為小型貨車或敞篷汽車時,這些行為將會改變。基類可以將這些類成員標記為虛擬的,從而允許表示敞篷汽車和小型貨車的派生類重寫該行為。

簡單的理解,就是可以將鴨子,雞,鳥,豬都作為動物物件來看待,就可以直接命令 「動物.叫」,然後在鴨子中具體實現「叫=瓜瓜」,鳥中「叫=嘰嘰」這樣,就是以動物為基類,實現了鴨子,雞,鳥,豬等派生類的多型。

4樓:匿名使用者

物件導向的多型性詳解

5樓:心之所疲

比如說你早上吃早飯 ,看到有人吃麵條 ,有人喝稀飯,

還有人吃包子

6樓:匿名使用者

一言以蔽之,即:父類引用可以指向子類例項

什麼叫做物件導向的 多型性???

7樓:匿名使用者

多型性,就是乙個父類的引用變數,可以指向其任意乙個子類物件。

例如,乙個animal類,其子類有cat與dog,然後你建立乙個父類animal的引用animalalpha,然後它可以指向cat的物件cat1,或指向dog的物件dog1。

主要有時在程式設計時,未來有那些子類有時是未知的,這樣在你用乙個父類的引用變數來完成某些功能,就可以相容後來出現的子類。

8樓:匿名使用者

是說男女都喜歡的那種嗎?

在物件導向技術中,多型性是指____。

9樓:匿名使用者

b,因為同樣的訊息被不同的物件所接受可能導致完全不同的行為,即多型是指兩個或多個屬於不同類的物件,對於同乙個訊息(方法呼叫)作出不同響應的方式

物件導向中,什麼是多型,有什麼意義?

10樓:匿名使用者

簡單的說,多型就是「相同的表示式,不同的操作」,也可以說成「相同的命令,不同的操作」。這是從物件導向的語義的角度來看的。

多型的意義在於,它實現了介面重用(同一的表示式),介面重用帶來的好處是程式更易於擴充套件,**重用更加方便,更具有靈活性,也就能真實地反映現實世界。

物件導向的多型性,通俗點解釋一下

11樓:匿名使用者

多型是型別理論的乙個概念。

意思是:

乙個名字可以代表許多不同的物件,只要這些物件都有共同的父類,這樣這個名字代表的不同物件就可以以不同的方式來響應同一訊息。

這是抽象的解釋,我覺得實際上多型就是用來將介面與實現分離的。

如:class tuxing ;

class zhengfangxing

void cachu() const

//實現其他介面

};class sanjiaoxing

void cachu() const

//實現其他操作

};我的使用者**想使用這些圖形,因為tuxing是介面,所以客戶只需使用tuxing就行了!

//usetuxing函式使使用者**

void usetuxing(tuxing *use)int main()

就是這樣將介面與實現分離。我建議你買一些國外的書看看吧!

有問題加我扣

什麼是多型性?舉例說明。(物件導向程式設計c++)

12樓:匿名使用者

什麼是多型?有的人這樣解釋:一種事物多種形態。

這種解釋極不精確,這只是多型的中文意思。多型簡單地說就是乙個名稱可以代表許多不同類的物件(實體),這些實體的模擬須有直接或間接的共同的基類(父類或超類),因此這個名字所代表的不同的物件就可以以不同方式來響應同乙個(共同基類的)函式呼叫。比如,張三是乙個名字,這個名字可以代表某個人,也可以代表某只狗,人和狗都屬於動物類,因此如果你呼叫乙個跑函式,張三所代表的不同物件就會以不同方式來完成跑步這個動作(人用兩條腿跑,狗用四條腿跑)。

一種事物多種形態指的是乙個物件可以有多種不同的狀態,比如乙個人有正常狀態和生病狀態,這句話顯然不是多型的定義。物件導向是一種很自然的程式設計方法,物件思想在幾百年前就有人使用了(但不是用來設計程式),現在某些人把它的基本概念弄複雜了。物件導向思想是外國人提出的,建議你還是找本外國人寫的書吧。

13樓:匿名使用者

建議你看看c++物件導向程式設計(第七版),裡面有詳細的解釋,這種東西還是自己看書比較好,舉例子很難全面的說明。

14樓:巫豪賴瑩琇

態性種表現形式具體說

用"外界麵內實現

"表示舉

例計算機

堆疊儲存各種格式

資料報括整型

浮點或字元

管儲存何種資料堆疊算

實現針同資料型別程式設計員

必手工選擇

需使用統

介面名系統自選擇

態性靜態態性態

態性兩種

靜態態性

指定義類或

函式同名函式

根據參數列(型別

及數)區別語義

並通靜態聯編實現例類

定義同引數

建構函式態態性

指定義類層

同類過載函式

般具相同

函式要根據指標指向象所類

區別語義

通態聯編實現

什麼是多型性

15樓:匿名使用者

指乙個物件不僅僅可以已本身的型別存在,也可以作為其父類型別存在。

多型性是允許將父物件設定成為和乙個或多個它的子物件相等的技術,比如parent:=child; 多型性使得能夠利用同一類(基類)型別的指標來引用不同類的物件,以及根據所引用物件的不同,以不同的方式執行相同的操作.

16樓:豔陽高照的午後

多型性是指以適當頻率在乙個群體的某個特定遺傳位點(基因序列或非基因序列)發生兩種或兩種以上變異的現象,可通過直接分析dna或基因產物來確定。

生物多型性是指地球上所有生物,從食物鏈系統、物種水平、群體水平、個體水平、組織和細胞水平、分子水平、基因水平等層次上體現出的形態(morphi**)和狀態(state)的多樣性。

生物多型性(***ani** polymorphi**)又稱生物多樣性 (life diversity),包括生態系統多樣性、物種多樣性和遺傳多樣性。其中遺傳多樣性是生態系統多樣性和物種多樣性的基礎和核心,是生物多樣性的內在形式。又由於基因是生物遺傳資訊的載體,所以遺傳多樣性的本質是基因多樣性。

從分類學角度考慮,許多物種包含著豐富的亞種多型分化,即該物種具有多種地理或生態群體。例如西方蜜蜂api**ellifera 的原產地———非洲、歐洲、亞洲中部和西部的生態系統多樣性豐富,經過長期繁衍進化,各地蜜蜂已形成了適應當地生態環境的特殊亞種或生態型。一定意義上講,乙個物種包含成千上萬的個體,就具有乙個獨特的基因多樣性。

17樓:

多型性就是多種表現形式,具體來說,可以用"乙個對外介面,多個內在實現方法"表示。舉乙個例子,計算機中的堆疊可以儲存各種格式的資料,包括整型,浮點或字元。不管儲存的是何種資料,堆疊的演算法實現是一樣的。

針對不同的資料型別,程式設計人員不必手工選擇,只需使用統一介面名,系統可自動選擇。

多型性也分靜態多型性和動態多型性兩種。靜態多型性是指定義在乙個類或乙個函式中的同名函式,它們根據參數列(型別以及個數)區別語義,並通過靜態聯編實現,例如,在乙個類中定義的不同引數的建構函式。動態多型性是指定義在乙個類層次的不同類中的過載函式,它們一般具有相同的函式,因此要根據指標指向的物件所在類來區別語義,它通過動態聯編實現。

「多型性」一詞最早用於生物學,指同一種族的生物體具有相同的特性。在物件導向理論中,多型性的定義是:同一操作作用於不同的類的例項,將產生不同的執行結果,即不同類的物件收到相同的訊息時,得到不同的結果。

多型性包含編譯時的多型性、執行時的多型性兩大類。

動態多型是指發出同樣的訊息被不同型別的物件接收時,有可能導致完全不同的行為。即,在使用者不作任何干預的環境下,類的成員函式的行為能根據呼叫它的物件型別自動作出適應性調整,而且調整是發生在程式執行時。 多型是物件導向程式設計的重要特徵之一。

是擴充套件性在「繼承」之後的又一重大表現 。

比方一下:

你和你朋友都是菸鬼,

某日,你沒有帶菸, 而你朋友有n種菸,

你說: 來根菸,

朋友給你一根;

你通過煙的過濾嘴, 品出為白沙煙

你再要一根,

品出這次是芙蓉王,

再要一根,

品出這次是熊貓

...上面描述的就是多型!

煙 a = 白沙

煙 b = 芙蓉王

煙 c = 熊貓

但發現沒有, 僅僅通過"煙"基類, 引用到不同的具體類物件,

就能讓你呼叫到不同的物件, 這就是多型.

而煙到你嘴裡[此時你還沒有發現是那種煙], 你僅僅憑藉"吸"的動作,就識別出來,到底是哪種煙物件

這就是多型的懸機.

多型須具備:

1. 基類 和各個子類

2. 基類 引用, 指向例項化的子類物件.

再舉乙個雞的例子,

雞是所有其它雞的基類, 定義了乙個方法shape(), 此方法能指明雞的形態. 所有的子類[火雞,山雞,田雞等],都有這個shape方法, 表明自己的形態,

如果用下面的方法定義我需要具體的雞,

[基類 引用 = 實現類的物件]

for example:

雞 a = new 火雞();

雞 a = new 田雞();

雞 a = new 山雞();

雞 a = new 母雞();

當我使用的時候, 我採用 a 這個引用,

a.shape(), 就會得到雞的形態.

如果我定義的是

雞 a = new 火雞();

那麼a.shape得到的是火雞的形態, 而不需要用具體的

火雞 a = new 火雞(); 再通過a.shape得到火雞的形態

c物件導向程式設計的多型性有什麼用,C 物件導向程式設計的多型性有什麼用

多型是所有語言都是一樣的,c 和別的語言沒有什麼不同主要是子類繼承父類,並重寫父類的方法,實現了不同的操作比如 public class 父類 public class 子類1 父類 public class 子類2 父類 應用 父類 a new 子類1 console.write a.m a ne...

C 中引用和多型性的實現,什麼是多型性,C 中是如何實現多型的

由於dog是animal的子類,而animal的gettype 和 getvoice 都是虛函式,而實現了多型性,而void type animal a 函式 中的引數是animal的引用物件,由於animal是dog的父類,而父類的物件可以接收子類的物件,所以當呼叫type d 這個函式時,typ...

什麼是染色體多型性

染色體的多型性又稱異態性 heteromorphi 是指正常人群中經常可見到各種染色體形態的微小變異。這種變異主要表現為同源染色體大小形態或著色等方面的變異。多型性是可遺傳的,並且通常僅涉及一對同源染色體中的乙個。例如表現的d和g組的隨體增大 重複 雙隨體 或缺如,短臂的長短,1 9 16號染色體的...