我阅读了许多笔记和在线教程,但我不清楚method overriding
和function overriding
以及function overloading
和method overloading
之间的基本区别。
答案 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");
}
}
答案 1 :(得分:0)
对于完全面向对象的编程,我的意思是像C#或Java这样的语言只有方法,没有函数。
对于像C这样的完全脚本语言,没有方法,有功能。
对于像C ++,perl,python,php这样的混合语言。当代码将作为脚本使用时,他们将调用函数,当代码将被用作类时,他们将调用方法。
请查看http://study.com/academy/lesson/oop-object-oriented-programming-objects-classes-interfaces.html以获取更多详细信息定义。
答案 2 :(得分:-1)
唯一的区别是方法或函数是否被覆盖/重载。见Difference between a method and a function