c#将类的一个实例赋值给另一个实例
Contactcontact=newContact();PdaItimitem=contact;其中Contact是PdaItim的派生类型请问这样赋值的结果...
Contact contact = new Contact();
PdaItim item = contact;
其中Contact 是 PdaItim 的派生类型
请问这样赋值的结果 展开
PdaItim item = contact;
其中Contact 是 PdaItim 的派生类型
请问这样赋值的结果 展开
5个回答
展开全部
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。
希望能帮到你
展开全部
子类继承于父类,它含有父类的部分,又做了扩充。如果子类对象赋值给父类变量,则使用该变量只能访问子类的父类部分(因为子类含有父类的部分,不会有问题)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是面向对象的编程中的 多态,就是父类的引用指向子类的对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
item和contact指向同一内存地址。一改具改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不对哦~难道不作强制转换都可以赋值?
你这样一来,Contact类重写PdaItim类的地方得到了赋值,但Contact的特性将丢失
你这样一来,Contact类重写PdaItim类的地方得到了赋值,但Contact的特性将丢失
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询