黑马程序员技术交流社区
标题:
虚方法
[打印本页]
作者:
佟嘉豪
时间:
2013-11-4 19:22
标题:
虚方法
namespace 虚方法
{
public class Daddy
{
public virtual void Play()//虚方法
{
Console.WriteLine("Daddy");
}
}
public class Son1 : Daddy
{
//public new void Play()//没有加override
//{
// Console.WriteLine("Son1");
//}
public void Play()//没有加override//这里为什么提示加new 不明白
{
Console.WriteLine("Son1");
}
}
复制代码
作者:
张小康
时间:
2013-11-4 20:31
因为不使用重写的话,相当于之类的方法和父类的方法重名
所以会提示用new
表示故意要隐藏父类的方法
作者:
许庭洲
时间:
2013-11-4 20:57
1. 当类中的方法声明前加上了virtual修饰符, 我们称之为虚方法,反之为非虚;
2. 使用了virtual修饰符号后,不允许再有static, abstract,或override修饰符;
3. 在派生类中声明对虚方法的重载,要求在声明中加上override关键字,而且不能有new, static或virtual修饰符。
作者:
念念念念_、
时间:
2013-11-5 00:40
同沙发!!!!
作者:
hourglass
时间:
2013-11-5 01:46
子类中的方法与父类中虚方法的名称相同时,需要使用new关键字进行区分该方法与父类虚方法
作者:
岁月渲染
时间:
2013-11-5 10:37
1、虚方法的概念:
类中的方法声明前加上了virtual 修饰符,我们称之为虚方法;
如: class A
{
public virtual void F(){} //虚方法
}
virtual修饰符表明:该基类(本例中指A类)的派生类(本例中指B类)可以
重写该方法(本例中指方法F())。
如: class B:A
{
public override void F(){} //派生类B重写类A的虚
方法F()
}
与之相对的,没有用virtual 修饰符,我们称之为非虚方法。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2