當前位置:編程學習大全網 - 編程語言 - 什麽是多態性機制?

什麽是多態性機制?

多態性首先建立在繼承的基礎上,只有繼承才能有多態性。多態性是指不同的子類在繼承父類後重寫並覆蓋父類的方法,即父類有相同的方法,在繼承的子類中表現為不同的形式。多態的另壹個條件是在創建子類時必須使用父類new subclass。

多態性字面意思是“多種狀態”。在面向對象的語言中,實現接口的許多不同方式都是多態。引用Charlie Calverts對多態性的描述——多態性是壹種技術,它允許您將壹個父對象設置為等於它的壹個或多個子對象。分配後,父對象可以根據當前分配給它的子對象的特征以不同的方式操作(來自“Delphi4?編程技術內幕”)。

簡單來說就是壹句話:允許將子類類型的指針賦給父類類型的指針。多態在Object Pascal和C++中都是通過虛函數實現的。

多態意味著同壹個實體同時有多種形式。這是面向對象編程(OOP)的壹個重要特征。如果壹種語言只支持類而不支持多態,那只能說明它是基於對象的,而不是面向對象的。C++中的多態性體現在兩個方面:運行和編譯。運行時多態是動態多態,它引用的具體對象只能在運行時確定。編譯時多態是靜態多態,對象使用的形式可以在編譯時確定。

多態:同壹個操作作用於不同的對象,可以有不同的解釋,產生不同的執行結果。在運行時,派生類中的方法可以通過指向基類的指針來調用。

在C++中,實現多態性的方法有以下幾種:虛函數、抽象類、覆蓋、模板(重載與多態性無關)。

OC中的多態性:不同的對象對相同的消息做出不同的響應。子類可以覆蓋父類的方法。

多態是允許方法同名,參數或返回值可以由父類型傳入或返回。

多態性也指生物體內腔腸動物的特殊生活方式。水螅狀態和水母狀態的世代交替。

以不同的子類對象作為父類,可以屏蔽不同子類對象之間的差異,編寫通用代碼,進行通用編程,以適應不斷變化的需求。

賦值後,父類型的引用可以根據當前分配給它的子對象的特征以不同的方式表現。換句話說,父親的行為像他的兒子,而不是兒子的行為像他的父親。

使用繼承的結果是,當妳創建壹個類的族時,當妳知道這個類的族時,妳就把子類的對象當作基類的對象。這種理解也叫向上投射。這種理解的重要性在於,我們可以只為基類寫壹個程序,但它可以適應這個類的族,因為編譯器會自動找到合適的對象來執行操作。這種現象也被稱為多態性。實現多態性的手段也叫動態綁定。

簡單來說,建立壹個對父類對象的引用,它引用的對象可以是這個父類的對象,也可以是它的子類的對象。在java中,當壹個子類與父類有相同的函數時,當這個函數通過父類對象的引用被調用時,子類中的函數被調用。

  • 上一篇:怎樣才算精通Excel?都有什麽使用小技巧?
  • 下一篇:匯編語言、VB、VC、C++、VF等幾種語言的區別?
  • copyright 2024編程學習大全網