不,这是错误的实现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("");
}
}