我閱讀了很多筆記和在線教程,但我不清楚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. rcov中「總覆蓋率」和「代碼覆蓋率」有什麼區別?
- 5. 聲納代碼覆蓋率和線路覆蓋有什麼區別
- 6. Java方法覆蓋 - 「方法不會覆蓋超級方法...」
- 7. 覆蓋功能
- 8. 爲什麼Finalize方法不能覆蓋
- 9. 調用覆蓋方法,超類調用覆蓋方法
- 10. 使功能無法覆蓋
- 11. 覆蓋原有功能
- 12. 覆蓋Object.length功能
- 13. 覆蓋postLogin功能
- 14. 覆蓋父功能
- 15. 虛擬,覆蓋,新和密封覆蓋之間的區別
- 16. 覆蓋方法和使用超
- 17. 覆蓋clen方法和超級調用
- 18. 覆蓋方法
- 19. 覆蓋方法
- 20. 覆蓋'+'方法
- 21. 覆蓋方法
- 22. 覆蓋方法
- 23. Phpunit覆蓋:'addUncoveredFilesFromWhitelist'和'processUncoveredFilesFromWhitelist'選項有什麼區別?
- 24. 橋網和覆蓋網有什麼區別?
- 25. GestureScanner功能覆蓋超鏈接點擊
- 26. Java:超類不會覆蓋功能
- 27. 函數覆蓋或超載
- 28. 多態 - 超載/覆蓋
- 29. 覆蓋覆蓋?
- 30. 覆蓋和隱藏方法
如果可能的話,請幫助我真實生活的例子。 –
針對你的方法和函數在重載和覆蓋方面有什麼區別? –
我知道方法和功能是一樣的。 –