我不太明白 Father person; person= new Son();这句话什么意思? 30

请解释下Fatherperson;person=newSon();这句话的意思,详细些~注:Father是父类,Son是子类我不明白重写为何这么写调用的是子类,而补充写调... 请解释下 Father person;
person= new Son();
这句话的意思,详细些~
注:Father是父类,Son是子类
我不明白重写为何这么写调用的是子类,而补充写调用的是父类
具体代码如下:

//不重写的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
class Father
{
public void Say()
{
Console.WriteLine("父类");
}
}
class Son:Father
{
public void Speak()
{
Console.WriteLine("子类");
}
}
class Program
{
static void Main(string[] args)
{

Father person;
person= new Son();
person.Say();
Console.ReadKey();

}
}
}
//重写的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication10
{
class Father
{
public virtual void Say()
{
Console.WriteLine("父类");
}
}
class Son:Father
{
public override void Say()
{
Console.WriteLine("子类");
}
}
class Program
{
static void Main(string[] args)
{

Father person;
person= new Son();
person.Say();
Console.ReadKey();

}
}
}
求解释~
展开
 我来答
HymanZheng
2015-05-15 · TA获得超过126个赞
知道小有建树答主
回答量:236
采纳率:66%
帮助的人:77.5万
展开全部
Father person;person= new Son();实例化子类,不重写的例子person.Say();子类中没有Say()方法,当然就访问其父类了,而重写的例子中person.Say();就直接访问子类的Say()方法了。
更多追问追答
追问
那Father person=new Father();和Father person=new Son();输出结果相同,那区别是啥
追答
父亲会唱歌,生了儿子,儿子继承了父亲的才能也会唱歌,你要儿子唱歌,儿子当然跟父亲唱一样的歌,你说儿子会唱歌父亲也会唱歌,有什麼区别?.....
後来儿子学会了跳舞,父亲就不会跳舞了.....
但由於时代潮流在变,以前父亲唱的的经典歌曲,儿子不想唱经典歌曲,所以儿子自创摇滚歌曲,你再让儿子唱歌,儿子唱的就是摇滚歌。跟父亲不一样了....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式