在物件導向技術中,多型性是指,什麼是物件導向程式設計中的多型性?

2021-05-23 13:26:44 字數 6020 閱讀 8087

1樓:匿名使用者

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

什麼是物件導向程式設計中的多型性?

2樓:騎豬跌斷腿

多型:簡單的來說,就是父類引用指向之類物件。因為多型是物件導向的特性,所以,多型也一定是針對物件的術語。多型有一個先決條件。就是一定要有繼承關係。

舉例:(1)建立一個汽車父類。

/*** 汽車類-父類

* @author z_y

*/public class vehicle

}(2)建立一個小汽車子類,重寫父類中的run方法。

/*** 小汽車-子類

* @author z_y

*/public class car extends vehicle

}(3)建立一個自行車類,重寫父類中的run方法。

/*** 自行車類-子類

* @author z_y

*/public class bicycle extends vehicle

}(4)編寫一個測試類

/*** 多型測試類-父類引用指向子類物件

* @author z_y**/

public class demo

}在上面的測試**中,父類物件先後指向兩個子類物件,這種行為。就是多型。

3.應用:多型在物件導向中有廣泛的應用,例如:當我們不知道引數的具體型別時,使用父類引用來接收引數,可以起到很好的效果。

3樓:匿名使用者

同一操作作用於不同物件,可以有不同的解釋,有不同的執行結果,這就是多型。

4樓:匿名使用者

java使用動態繫結來使多型成為可能,它指的是java用來在執行時選擇呼叫的方法或物件的機制.過載構成了了java中的一種特殊的多型機制,它表現在當一個類的兩個或者兩個以上的方法擁有相同的名字但是不同的引數列表,或者說"方法簽名".一個方法的簽名指的是方法的名字以及引數的型別和數目.

類的每一個方法都有與之相關的唯一的簽名.類可以有多個名字相同的方法只要它們的引數列表是唯一的.例如,我們能夠為animal類定義兩個名字為gethello的方法,用其中一個方法來獲得動物通常的叫聲,而用另一個獲得當動物被驚嚇或是撫摩的時候的叫聲

5樓:匿名使用者

比如 定義 void f(int a){}再定義 int f(){}

這時候呼叫f函式 根據不同的形參 會呼叫不同的函式這裡就實現了函式的過載

6樓:匿名使用者

最直接的體現就是 過載

函式的過載 運算子的過載 等等

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

7樓:匿名使用者

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

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

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

8樓:匿名使用者

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

什麼是物件導向的多型性

9樓:匿名使用者

多型是所有語言都是一樣的,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(),輸出的結果卻不一樣,這就是多型了

10樓:門天巧杭翠

java使用動態繫結來使多型成為可能,它指的是java用來在執行時選擇呼叫的方法或物件的機制.過載構成了了java中的一種特殊的多型機制,它表現在當一個類的兩個或者兩個以上的方法擁有相同的名字但是不同的引數列表,或者說"方法簽名".一個方法的簽名指的是方法的名字以及引數的型別和數目.

類的每一個方法都有與之相關的唯一的簽名.類可以有多個名字相同的方法只要它們的引數列表是唯一的.例如,我們能夠為animal類定義兩個名字為gethello的方法,用其中一個方法來獲得動物通常的叫聲,而用另一個獲得當動物被驚嚇或是撫摩的時候的叫聲

11樓:老采薇可璠

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

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

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

12樓:匿名使用者

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

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

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

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

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

13樓:匿名使用者

物件導向的多型性詳解

14樓:心之所疲

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

還有人吃包子

15樓:匿名使用者

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

java中多型性什麼意思?

16樓:大漠孤雁

多型性:顧名思義就是擁有「多種

形態」的含義,是指屬性或方法在子類中表現為多種形態。

在java中有兩種多型是指:執行時多型和編譯時多型。多型性是物件導向的核心特徵之一,類的多型性提供類中成員設計的靈活性和方法執行的多樣性。

多型指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。(傳送訊息就是函式呼叫)

實現多型的技術稱為:動態繫結(dynamic binding),是指在執行期間判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。

展資料:

多型的好處:

1、可替換性(substitutability)多型對已存在**具有可替換性。例如,多型對圓circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。

2、可擴充性(extensibility)多型對**具有可擴充性。增加新的子類不影響已存在類的多型性、繼承性,以及其他特性的執行和操作。實際上新加子類更容易獲得多型功能。

3、介面性(inte***ce-ability)多型是超類通過方法簽名,向子類提供了一個共同介面,由子類來完善或者覆蓋它而實現的。

4、靈活性(flexibility)它在應用中體現了靈活多樣的操作,提高了使用效率。

5、簡化性(simplicity)多型簡化對應用軟體的**編寫和修改過程,尤其在處理大量物件的運算和操作時,這個特點尤為突出和重要。

17樓:匿名使用者

java中多型性是指允許不同類的物件對同一訊息做出響應。即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式。(傳送訊息就是函式呼叫)

java的多型分為兩種:

a. 編譯時多型:方法的過載。

b. 執行時多型:java執行時系統根據呼叫該方法的例項的型別來決定選擇呼叫哪個方法則被稱為執行時多型。(我們平時說得多的事執行時多型,所以多型主要也是指執行時多型)。

18樓:zer0小雪

在物件導向的程式java中,多型性的定義是:

同一操作作用於不同的類的例項,將產生不同的執行結果。

物件根據所接受的訊息而做出動作,同樣的訊息被不同的物件接受時可能導致完全不同的行為,這種現象稱為多型性。

多型性就是多種表現形式,即用"一個對外介面,多個內在實現方法"表示。

多型性包含編譯時的多型性、執行時的多型性兩大類。 即:多型性也分靜態多型性和動態多型性兩種。

靜態多型性

靜態多型性是指定義在一個類或一個函式中的同名函式,它們根據參數列(型別以及個數)區別語義,並通過靜態聯編實現。

動態多型性

動態多型性是指定義在一個類層次的不同類中的過載函式,它們一般具有相同的函式,因此要根據指標指向的物件所在類來區別語義,它通過動態聯編實現。

在使用者不作任何干預的環境下,類的成員函式的行為能根據呼叫它的物件型別自動作出適應性調整,而且調整是發生在程式執行時,這就是程式的動態多型性。舉例子說明一下:

擴充套件資料:

1.多型存在的三個必要條件:

(1)要有繼承;

(2)要有重寫;

(3)父類引用指向子類物件。

2.多型的好處:

(1)可替換性(substitutability):多型對已存在**具有可替換性,例如,多型對圓circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。

(2)可擴充性(extensibility):多型對**具有可擴充性,增加新的子類不影響已存在類的多型性、繼承性,以及其他特性的執行和操作。實際上新加子類更容易獲得多型功能。

(3)介面性(inte***ce-ability):多型是超類通過方法簽名,向子類提供了一個共同介面,由子類來完善或者覆蓋它而實現的。

(4)靈活性(flexibility):它在應用中體現了靈活多樣的操作,提高了使用效率。

(5)簡化性(simplicity):多型簡化對應用軟體的**編寫和修改過程,尤其在處理大量物件的運算和操作時,這個特點尤為突出和重要。

19樓:ieio啊

理論解釋:

多型性,分靜態多型性和動態多型性兩種。

多型性:顧名思義就是擁有「多種形態」的含義,是指屬性或方法在子類中表現為多種形態。

靜態多型性:包括變數的隱藏、方法的過載(指同一個類中,方法名相同[方便記憶],但是方法的引數型別、個數、次序不同,本質上是多個不同的方法);

動態多型性:是指子類在繼承父類(或實現介面)時重寫了父類(或介面)的方法,程式中用父類(或介面)引用去指向子類的具體例項,從**形式上看是父類(或介面)引用去呼叫父類(介面)的方法,

但是在實際執行時,jvm能夠根據父類(或介面)引用所指的具體子類,去呼叫對應子類的方法,從而表現為不同子類物件有多種不同的形態。

不過,程式**在編譯時還不能確定呼叫的哪一個類的方法,只有在執行時才能確定,故又稱為執行時的多型性。

例子:舉例子說明一下:

#include

std::cout;

class a

;class b:public a

;class c:public b

;void main()

在class a的test函式前加上virtual,即在執行時多型的時候,程式輸出結果為:ccc

在class a的test函式前不加virtual,即在編譯時多型的時候,程式輸出結果為:aaa

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

什麼是多型?有的人這樣解釋 一種事物多種形態。這種解釋極不精確,這只是多型的中文意思。多型簡單地說就是一個名稱可以代表許多不同類的物件 實體 這些實體的類比須有直接或間接的共同的基類 父類或超類 因此這個名字所代表的不同的物件就可以以不同方式來響應同一個 共同基類的 函式呼叫。比如,張三是一個名字,...

美學中審美物件的開放性是指什麼,美與審美物件的區別?美是什麼?審美物件是什麼

非實體性 審美物件不僅不是一種物質實體,而且也不是精神性的實體,它不過物質與精神 客觀與主觀相互滲透從而熔鑄成的一種獨特意象,審美物件就存在於審美主體對具備絕對審美價值屬性的客觀事物獨特的觀照和體驗中 開放性 即審美物件具有不確定性和不可窮盡性。審美物件既是有限的 確定的,但又具有無限性和不確定性。...

企業在人員素質測評時,評價中心技術是指什麼

員素質測評是系統研究對各類人員的素質及其功能行為進行科學的測量與評定的原理 規律和方法的科學,人員素質測評是現代人力資源管理的一門新興學科。國外專家研究了60多年,並有了比較成熟的人才測評體系。然而在中國,人員素質測評工作在80年代中期開始於三資企業,最初是由企業主從國外聘請專家進行,以後國內的一些...