方法重写和函数重写/重载之间有什么区别

时间:2017-08-14 04:26:40

标签: c# oop

我阅读了许多笔记和在线教程,但我不清楚method overridingfunction overriding以及function overloadingmethod overloading之间的基本区别。

3 个答案:

答案 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