abstract 刚学,看看我理解的对不对!

mayvac 2008-07-10 08:15:48
abstract 和 virtual 使用上的不同?
麻烦大家了,正在学习C#中,看MSDN不是很明白!
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxmonsy 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 JennyZhang2008 的回复:]
虚函数(virtual)是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数(abstract)是没有代码,子类继承后一定要重写。还有抽象函数必须放在抽象类中。
[/Quote]
Adechen 2008-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 JennyZhang2008 的回复:]
虚函数(virtual)是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数(abstract)是没有代码,子类继承后一定要重写。还有抽象函数必须放在抽象类中。
[/Quote]
基本上对
JustLovePro 2008-07-10
  • 打赏
  • 举报
回复
最大的不同:一个没有代码实现(abstract),必须在继承类中实现。
所以通常把他叫做纯虚函数.
JennyZhang2008 2008-07-10
  • 打赏
  • 举报
回复
虛函数:由virtual声明,它允许在派生类中被重写,要重写方法必须先声明为virtual
public class myclass
{
public virtual int myint()
{
函数体;
}
}
class myclass1:myclass
{
public override int myint()
{
函数体1;
}
}

抽象类,抽象函数:由abstract声明,在抽象类中可以定义抽象方法,抽象方法基本沒有执行代码,派生类必須重写它,提供其执行代码
public abstract class myclass
{
public abstract int myint();
}
public class myclass1:myclass
{
public override int myint()
{
函数体;
}
}
JennyZhang2008 2008-07-10
  • 打赏
  • 举报
回复
虚函数(virtual)是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数(abstract)是没有代码,子类继承后一定要重写。还有抽象函数必须放在抽象类中。

111,012

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧