2017-08-14 153 views
-3

我閱讀了很多筆記和在線教程,但我不清楚method overridingfunction overridingfunction overloadingmethod overloading之間的基本區別是什麼。方法覆蓋和功能覆蓋/超載有什麼區別

+0

如果可能的話,請幫助我真實生活的例子。 –

+0

針對你的方法和函數在重載和覆蓋方面有什麼區別? –

+0

我知道方法和功能是一樣的。 –

回答

0

簡單的解釋。

方法重載有兩個或多個方法具有相同的名稱與不同的編號和/或不同類型的參數。

例如:

public void AddDog(string type){} 
public void AddDog(string type, string color){} 

方法覆蓋允許一個類以改變一個繼承的類方法。

如:

public class Dog 
    { 
     public virtual void Bark() 
     { 
      Console.WriteLine("Roff"); 
     } 
    } 

    public class Wolf:Dog 
    { 
     public override void Bark() 
     { 
      Console.WriteLine("Grrr"); 
     } 
    } 
+0

什麼是函數重載和覆蓋..? –

+0

完全的OOP語言使用方法,而不是像以前的答案解釋那樣起作用。最接近一個函數的是c#中的靜態方法。 – Xela

0

對於完全面向對象編程,我的意思是像C#或Java語言,只有方法,沒有任何功能。

對於完全腳本語言如C沒有方法,有功能。

對於像C++,perl,python,php這樣的混合語言,兩者都有。當代碼將被用作腳本時,他們將調用函數,當代碼將被用作類時,他們將調用方法。

請檢查http://study.com/academy/lesson/oop-object-oriented-programming-objects-classes-interfaces.html以獲取更多細節定義。