A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们在刚开始学习多态时,会很郁闷,不知道Abstract和Virtual 到底该怎么用,有什么区别。我刚开始也有这种疑惑。
Abstract是定义抽象方法,是不能具体实现的,如果想用这个方法,我们需要在子类中进行重写。我们先举个例子:
在抽象类person中,我们定义一个抽象方法draw()。
基类中这样写:public abstract draw();
而在子类中,我们需要重写该方法,
这样写:
public override draw()
{
*******************;
}


而Virtual  最大的不同就是,这个方法定义在基类中时,要看我们自己在子类中重不重写该方法。如果不重写,那这个方法就可以具体实现。如果重写了的话,那
在具体实现时,就是使用子类重写后的该方法。
举个例子:
基类中:
public virtual draw()
{
**************;
}

子类中:
public override draw()
{
**************;
}

我这么说不知道大家明白了没有。有疑问可以继续问我

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马