您的位置:知识库 »

可以使用抽象函数重写基类中的虚函数吗?

作者: Clark Zheng  来源: 博客园  发布时间: 2008-09-10 19:30  阅读: 5894 次  推荐: 0   原文链接   [收藏]  

系列文章导航:

静态成员和非静态成员的区别?

const 和 static readonly 区别?

extern 是什么意思?

abstract 是什么意思?

internal 修饰符起什么作用?

sealed 修饰符是干什么的?

override 和 overload 的区别?

什么是索引指示器?

new 修饰符是起什么作用?

this 关键字的含义?

可以使用抽象函数重写基类中的虚函数吗?

C#基础概念之密封类,属性访问器,接口

类和结构的区别?

C#基础概念之抽象类,接口,接口多继承

别名指示符是什么?

如何手工释放资源?

C#基础概念之P/Invoke,StringBuilder 和 String

explicit 和 implicit 的含义?

params 有什么用?

什么是反射?


11.可以使用抽象函数重写基类中的虚函数吗?

答:
可以需使用 new 修饰符显式声明,表示隐藏了基类中该函数的实现
或增加 override 修饰符,表示抽象重写了基类中该函数的实现

 

示例:

Code
class BaseClass
{
public virtual void F()
{
Console.WriteLine(
"BaseClass.F");
}
}
abstract class DeriveClass1 : BaseClass
{
public abstract new void F();
}

//感谢watson hua(http://huazhihao.cnblogs.com/)的指点
//是他提醒了我还可以用这种方法抽象重写基类的虚方法
abstract class DeriveClass2 : BaseClass
{
public abstract override void F();
}

0
0

热门文章

    最新文章

      最新新闻

        热门新闻