在物件導向設計中,方法過載與方法重定義的區別?

2025-03-13 07:35:22 字數 1950 閱讀 4993

1樓:網友

過載:對於類的方法,包括從父類中繼承的方法,兩個譁段悶方法名相同,但是引數簽名必須至少有乙個不相同,可以說是方法的過載。

必須滿足:方法名相同 ,方法的引數型別、個數、順序至少有一項不相同,方法的返回值可以不相同,方法的修飾符可以不相同。

如:public class a {

public int add(int a, int b) {

return a + b;

public string add(string a, string b) {

return a + b;

重定義:子類中的方亂彎法,其名稱、返回型別及引數簽名正好與燃物父類中的某個方法的名稱、返回型別及引數簽名相同,可以說此方法重寫了父類的方法,也可以說是覆蓋。

如:public class a {

public int add(int a, int b) {

int c = a + b;

return c;

class over1 extends a {

public int add(int a, int b) {

int c = a * b;//c做了重定義。

return c;

2樓:網友

都是針對同名函式,重定義是兩種方法的引數相同新禪銀方法把老方含穗法覆蓋了,而過載是兩種方法都存在,可以通過不同的引數呼叫談襲卜不同的方法。

物件導向概念中方法重寫和過載的區別?

3樓:東臨秋後

重寫只存在於子類與父類中,過載存在於乙個類中。

具體區別如下:

一、重寫(override)

override是重寫(覆蓋)了乙個方法,以實現不同的功能。一般是用於子類在繼承父類時,重寫(重新實現)父類中的方法。

重寫(覆蓋)的規則:

1、重寫方法的引數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是過載。

2、重寫方法的訪問修飾符一定要大於被重寫方法的訪問修飾符(public>protected>default>private)。

3、重寫的方法的返回值必須和被重寫的方法的返回一致;

4、重寫的方法所丟擲的異常必須和被重寫方法的所丟擲的異常一致,或者是其子類;

5、被重寫的方法不能為private,否則在其子類中只是新定義了乙個方法,並沒s有對其進行重寫。

6、靜態方法不能被重寫為非靜態的方法(會編譯出錯)。

二、overload是過載,一般是用於在乙個類內實現若干過載的方法,這些方法的名稱相同而引數形式不同。

過載的規則:

1、在使用過載時只能通過相同的方法名、不同的引數形式實現。不同的引數型別可以是不同的引數型別,不同的引數個數,不同的引數順序(引數型別必須不一樣);

2、不能通過訪問許可權、返回型別、丟擲的異常進行過載;

3、方法的異常型別和數目不會對過載造成影響;

多型的概念比較複雜,有多種意義的多型,乙個有趣但不嚴謹的說法是:繼承是子類使用父類的方法,而多型則是父類使用子類的方法。

一般,我們使用多型是為了避免在父類裡大量過載引起**臃腫且難於維護。

簡述物件導向的三個特徵,以及過載與覆蓋的區別?

4樓:倒黴熊

物件導向程式設計有三大特點:

1、繼承。2、多型:方法的重寫(overriding)、方法的過載(overload)

3、封裝。重寫存在繼承關係。

1、方法名稱一致。

2、引數一致。

3、返回值一致。

4、方法的許可權不能比父類的小。

過載不一定要存在繼承關係。

滿足的條件:

1、方法名稱 一致。

2、引數不一致。

其中引數不一致包括:

1、引數的型別不一致。

2、引數的不一致。

3、引數的順序個數不一致。

物件導向方法包括什麼,物件導向的方法的概念是什麼?

物件導向方法模型包括六個要素 封裝 抽象 模組化 層次結構 型別 併發發 持久。物件導向方法是一種基於物件模型的程式設計方法,包括物件導向分析 物件導向設計 物件導向程式設計,是目前應用範圍最廣的設計方法。物件導向是軟體開發方法。物件導向的概念和應用已超越了程式設計和軟體開發,擴充套件到如資料庫系統...

C中方法返回值的型別有哪些,在C 中,方法的返回值和輸出型引數有什麼區別

就2個值型別 和 引用型別 值型別 1 表示實際型別 2 將至存放在記憶體中 3 值型別都儲存在堆疊中 4 int char 結構 引用型別 1 表示只想資料的指標或者引用 2 包含記憶體堆中物件的地址3 為null 來引用任何物件 4 類,介面 陣列 字串 c 我沒研究,我用的是vb.net,但應...

什麼是結構化開發方法,什麼是物件導向開發方法,比較二者的區別

結構化開發方法 早期的程式開發,如c語言,都是用結構化開發方法。結構化開發又叫做程序導向開發,具體原理是將一個軟體分為多個過程 函式 進行開發,用結構體 struct 管理資料。這種開發方式使得 的可讀性變得很低,並且 難以移植。現在較常用的開發方法為物件導向開發 object oriented 分...