问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#编程时为什么要用虚方法

发布网友 发布时间:2024-03-26 14:59

我来回答

2个回答

热心网友 时间:2024-09-15 09:59

因为要实现多态,当子类需要重写父类方法的时候,就需要它是虚方法,当有N个子类重写了父类方法就有N种实现,从而现实了多态

例如
父类中用于问好的方法Hello
class Person
{
public virtual void Hello() { Console.WriteLine("你好"); }
}
现在有两个子类分别是Student和Teacher(假设他们必须这样说)
那Student问好就该说,老师好
而Teacher问好就该说,同学好
所以就需要重写了
class Student
{
public override void Hello() { Console.WriteLine("老师好"); }
}
Teacher里面就是,同学好

基本上就这个意思,具体的用法多种多样,看你的需求了

热心网友 时间:2024-09-15 09:56

给你个最简单的例子:
namespace Some
{
class My
{
//Method1
public new string ToString()
{
return "MyString()";
}

//Method2
// public override string ToString()
// {
// return "MyString";
// }
}
}

My my=new My();
Console.Write(my);
用Method1,你以为会输出什么?MyString?
会输出Some.My

只有Method2会输出MyString

为什么?

显然,肯定不存在Console.Write(My)方法 //系统定义这个方法时,根本不知道My的存在
你调用的其实是:Console.Write(object)方法
换句话说,其实是这样:
My my=new My();
object obj=my;
Console.Write(obj);
现在知道了吧,虽然是子类的对象,但是是由基类的引用来引用的,你如果不用override来重写,系统根本不可能去调用你定义的方法,而是去调用在object中定义的ToString方法,于是输出了类名
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
假征信报告哪里做 非常想问,做征信报告要多少钱,真假怎么分辨? 请问银川有没有好的办出国留学的学校啊? 银川英皇留学跟其他的中介有什么不一样吗? 银川留学机构在什么地方? 银川留学哪里做的比较好呀,急求! 谁了解银川哪家出国留学中介机构比较好 迅游手游加速器使用教程 迅游手游加速器如何添加游戏 添加游戏方法 电脑短信验证插件如何安装电脑上如何安装插件 复印惠普打印机的操作步骤是什么? NO$Zoomer模拟器的存档在哪个文件 怎么重装机兵一打泥王武装鳄鱼就死机 过年时婆婆让我们带着孩子串门收压岁钱去 孙子才5个月婆婆春节需不需发压岁钱? 过年时还应不应该收压岁钱? 跟婆婆分家了 是不是孩子的压岁钱应该婆婆收着 还人情 娘家人给的我... 过年儿子的压岁钱婆婆要自己拿着,我该不该给婆婆 ...上有一个dj是太阳穴没有头发带黑色眼睛框的叫什么名字 ...DJ!7这手速绝对开挂了第2分39的视频电音叫什么 是Skrillex的... beef的区别是什么? 提出人体比例为1:8的希拉雕刻家是谁???急!!!7 我是农行,银行转证券(第一),显示失败 是什么原因?转入1000元都不行... 北京遮挡车牌扣几分 关于胃病的,医生进 普洱茶的功效有哪些有过敏性鼻炎能喝普洱茶吗? 如题。这两天吃瘦脸果,脸上过敏了。瘦脸果成分是罗梦果、洋车前子... ...连续喝了一个礼拜的普洱茶后!就开始脸上严重过敏!有好几个月了!什 ... 过敏性皮肤可以喝普洱茶吗? 网上办的电工证有用吗? 维生素e放在洗发水里,洗头有什么好处 抽象类里有一个虚拟方法,请问为什么要用虚拟啊 C# ...返回值类型不同,父类的设置为虚函数,能否实现 离婚财产对方不给钱怎么办 溢流坝常用的孔口型式有 某溢流坝,共 4 孔,每孔宽度 b=8 m,各部分高程如图所示? 宁波新三和壳体有限公司怎么样? 宁波三和壳体模具有限公司怎么样 宁波信诺三和捻线有限公司怎么样? 宁波市北仑三和传感器有限公司怎么样? 如何提升严重精神障碍患者监护人监护能力 ee钱包交易平台合法吗 为什么 中兴通讯可以一直上新闻联播 纹发际线颜色没上去,隔几天再纹可以吗? 注销后还是好友吗? 各位老师好,我是个炒股新手,昨天刚买的中兴通讯看消息说10转...1 提高团队士气的主要方法有( )。  王者荣耀熟练度,到了蓝色以后怎么提升最快?人机已经不加了_百度知... 一碗鱼丸面多少热量 商用充电桩需要什么手续