美文网首页
方法重载overload,方法重写override,隐藏new

方法重载overload,方法重写override,隐藏new

作者: Aaether | 来源:发表于2018-02-28 20:12 被阅读0次

方法重载overload,方法重写override,隐藏new

1.方法重载overload:同一个类中有两个或多个方法名相同但参数不一致的方法。(返回值类型并不能区分函数是否是重载),允许用相同的名称不同的参数个数来调调用多个方法。

class Person

{

public void SayHello()

{

Console.WriteLine("Hello");

}

public void SayHello(string word)

{

Console.WriteLine(word);

}

}

2.方法重写override:子类重写父类中的方法。当方法进行重写时,必须使用override修饰。

A.对虚方法的重写:重写父类中的方法,对父类中的方法进行覆盖。

public class Person

{

public virtual void SayHello()

{

Console.WriteLine("Say hello!");

}

}

public  class Chinese : Person

{

public override void SayHello()

{

Console.WriteLine("中国人问好!");

}

}

B.对抽象方法的重写:重写父类中的方法,父类必须是abstract修饰,父类中的方法也必须用abstract修饰,父类中的方法不实现。

abstract  class Person

{

public abstract void SayHello();

}

class Chinese : Person

{

public override void SayHello()

{

Console.WriteLine("中国人问好!");

}

}

3.隐藏new在子类中写一个和父类名字一样的非虚方法,会让父类中的函数被隐藏,使用new关键字来显示隐藏父类的方法。

public class Person

{

public void SayHello()

{

Console.WriteLine("Say hello!");

}

}

public  class Chinese : Person

{

public new void SayHello()

{

Console.WriteLine("中国人问好!");

}

}

相关文章

网友评论

      本文标题:方法重载overload,方法重写override,隐藏new

      本文链接:https://www.haomeiwen.com/subject/onvzbttx.html