我閱讀了很多筆記和在線教程,但我不清楚method overriding
和function overriding
和function overloading
和method overloading
之間的基本區別是什麼。方法覆蓋和功能覆蓋/超載有什麼區別
回答
唯一的區別是方法或函數是否被覆蓋/重載。見Difference between a method and a function
簡單的解釋。
方法重載有兩個或多個方法具有相同的名稱與不同的編號和/或不同類型的參數。
例如:
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");
}
}
什麼是函數重載和覆蓋..? –
完全的OOP語言使用方法,而不是像以前的答案解釋那樣起作用。最接近一個函數的是c#中的靜態方法。 – Xela
對於完全面向對象編程,我的意思是像C#或Java語言,只有方法,沒有任何功能。
對於完全腳本語言如C沒有方法,有功能。
對於像C++,perl,python,php這樣的混合語言,兩者都有。當代碼將被用作腳本時,他們將調用函數,當代碼將被用作類時,他們將調用方法。
請檢查http://study.com/academy/lesson/oop-object-oriented-programming-objects-classes-interfaces.html以獲取更多細節定義。
- 1. 塊覆蓋和分支覆蓋有什麼區別?
- 2. 覆蓋/覆蓋功能內的功能
- 3. 覆蓋非虛擬功能和虛擬功能有什麼區別?
- 4. DownloaderClientMarshaller.Proxy覆蓋超功能
- 5. rcov中「總覆蓋率」和「代碼覆蓋率」有什麼區別?
- 6. 聲納代碼覆蓋率和線路覆蓋有什麼區別
- 7. Java方法覆蓋 - 「方法不會覆蓋超級方法...」
- 8. 覆蓋功能
- 9. 覆蓋和超載透視
- 10. 爲什麼Finalize方法不能覆蓋
- 11. 調用覆蓋方法,超類調用覆蓋方法
- 12. 使功能無法覆蓋
- 13. 無法覆蓋prepareForSegue功能
- 14. Rails - 覆蓋別名方法
- 15. 覆蓋和恢復功能
- 16. 覆蓋現有功能jquery
- 17. 覆蓋原有功能
- 18. 覆蓋Object.length功能
- 19. 覆蓋父功能
- 20. 覆蓋postLogin功能
- 21. 虛擬,覆蓋,新和密封覆蓋之間的區別
- 22. 覆蓋靜態方法的功能
- 23. 覆蓋方法和使用超
- 24. 覆蓋clen方法和超級調用
- 25. 覆蓋方法
- 26. 覆蓋方法
- 27. 覆蓋方法
- 28. 覆蓋方法
- 29. 覆蓋'+'方法
- 30. C#中的覆蓋和新關鍵字有什麼區別?
如果可能的話,請幫助我真實生活的例子。 –
針對你的方法和函數在重載和覆蓋方面有什麼區別? –
我知道方法和功能是一樣的。 –