标题:虚方法与非虚方法的区别
只看楼主
红枫叶,
Rank: 1
来 自:青岛
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-12-1
结帖率:100%
已结贴  问题点数:1 回复次数:4 
虚方法与非虚方法的区别
虚方法与非虚方法的本质区别是什么,能否用举例给我解释一下,谢谢
搜索更多相关主题的帖子: 谢谢 
2010-12-03 13:37
张春平
Rank: 3Rank: 3
来 自:北城
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2010-12-2
得分:0 
我是比作书说的,看一看你能理解多少
1.虚方法不能声明为静态的(static)
2.在声明虚拟方法是关键字virtual不能与private、static、override、abstract等一起使用。
3.重写基类的虚方法时,必须在子类中用override关键字声明。
2010-12-03 14:13
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:0 
楼上的头像非常犀利~

其实虚拟函数牵涉到继承的概念。
可以上网找一些资料。然后根据源码来理解,效果会很好~
2010-12-03 17:08
lisj_1213
Rank: 2
等 级:论坛游民
帖 子:14
专家分:55
注 册:2010-11-18
得分:0 
最大的区别就是虚方法可以重写,非虚方法不能
2010-12-03 17:33
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
得分:0 
虚方法的作用是作为协议来使用。
比如有个打印的方法叫做print
但打印有两种情况,一种是在打印机打印,一种是在屏幕打印。
那么我就们把这个方法作为一个虚方法,放在PrintClass类中。
然后我们再定义两个类A、B,分别继承PrintClass类,那么此
时则可以在类A、B分别重写这个print虚方法。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-12-04 17:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-327776-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.115719 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved