c#将类的一个实例赋值给另一个实例

Contactcontact=newContact();PdaItimitem=contact;其中Contact是PdaItim的派生类型请问这样赋值的结果... Contact contact = new Contact();
PdaItim item = contact;

其中Contact 是 PdaItim 的派生类型

请问这样赋值的结果
展开
 我来答
zljk0306
推荐于2017-11-25 · TA获得超过366个赞
知道小有建树答主
回答量:229
采纳率:90%
帮助的人:205万
展开全部
Contact contact = new Contact();
PdaItim item = contact;
此处item是Contact类型,这地方体现的是多态,即将子类赋给父类,调用父类中的方法,却表现不同的行为。
如果PdaItem中存在这样一个方法:
public void SayHello()
{
    Console.WriteLine("你好,我是父亲");
}
Contact 中存在这样一个方法:
public void SayHello()
{
    Console.WriteLine("你好,我是Contact");
}
执行item.SayHello();
输出结果为你好,我是Contact。
希望能帮到你
君不见杀手
2013-07-25 · TA获得超过141个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:236万
展开全部
子类继承于父类,它含有父类的部分,又做了扩充。如果子类对象赋值给父类变量,则使用该变量只能访问子类的父类部分(因为子类含有父类的部分,不会有问题)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kd68cn
2013-07-25 · 超过24用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:57.4万
展开全部
这是面向对象的编程中的 多态,就是父类的引用指向子类的对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8eb489e
2013-07-25 · TA获得超过659个赞
知道小有建树答主
回答量:348
采纳率:100%
帮助的人:328万
展开全部
item和contact指向同一内存地址。一改具改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-07-25 · TA获得超过105个赞
知道小有建树答主
回答量:128
采纳率:100%
帮助的人:103万
展开全部
不对哦~难道不作强制转换都可以赋值?
你这样一来,Contact类重写PdaItim类的地方得到了赋值,但Contact的特性将丢失
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式