幾個概念 覆蓋 過載與多型

2021-06-25 23:41:44 字數 435 閱讀 9464

多型性:在程式執行的過程中才決定呼叫的函式,是物件導向程式設計領域的核心概念;

在c++中,多型性通過虛函式(virtual function)實現。因此引入虛函式的概念:

虛函式就是允許被其子類重新定義的成員函式。而子類重新定義父類虛函式的做法,稱為覆蓋(override),或者稱為重寫。

1、易混淆的概念:覆蓋和過載

過載是指允許存在多個函式名相同,但參數列不同的函式;對於這樣的函式呼叫,在編譯器間就確定了,是靜態的;

而覆蓋,當子類重新定義了父類的虛函式之後,父類指標根據賦給它的不同的子類指標,動態地呼叫屬於子類的該函式,這在編譯期間是無法確定的,而是在執行期繫結的;

因此,過載只是一種語言特性,和多型無關,而覆蓋和多型相關。

重寫 覆蓋 過載 多型幾個概念的區別

override 重寫 覆蓋 overload 過載 polymorphism 多型 override 是重寫了乙個方法,已實現不同的功能。一般是子類繼承父類時,重寫 重新實現 父類的方法。重寫 覆蓋 的規則 1 重寫的方法引數列表必須完全與被重寫的方法相同,否則不能稱其重寫而是過載。2 重寫的方法...

重寫 覆蓋 過載 多型幾個概念的區別分析

override是重寫 覆蓋 了乙個方法,以實現不同的功能。一般是用於子類在繼承父類時,重寫 重新實現 父類中的方法。重寫 覆蓋 的規則 1 重寫方法的引數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是過載.2 重寫方法的訪問修飾符一定要大於被重寫方法的訪問修飾符 public prote...

重寫 覆蓋 過載 多型幾個概念的區別分析

重寫 覆蓋 過載 多型幾個概念的區別分析 override 重寫 覆蓋 overload 過載 polymorphism 多型 override是重寫 覆蓋 了乙個方法,以實現不同的功能。一般是用於子類在繼承父類時,重寫 重新實現 父類中的方法。重寫 覆蓋 的規則 1 重寫方法的引數列表必須完全與被...