不,这是错误的实现method overloading
。
如果您创建一个具有相同名称和相同参数的方法,那么它将是method overriding
。
如果您创建一个名称相同但参数不同的方法,那么它将是method overloading
。
如果您需要为 实现示例method overriding
,则在您的上添加一个关键字并override
在您的上derived class method
添加一个virtual
关键字base class method
:
public class BaseClass
{
public virtual void MyFunction()
{
Console.WriteLine("");
}
}
public class DerivedClass:BaseClass
{
public override void MyFunction()
{
Console.WriteLine("");
}
}
如果你想实现一个例子overloading
,那么你只需要改变你的两个方法的参数。变化意味着它们必须彼此不同。例如:
public class BaseClass
{
public void MyFunction()
{
Console.WriteLine("");
}
}
public class DerivedClass:BaseClass
{
public void MyFunction(string input)
{
Console.WriteLine("");
}
}