隐式转化和显示转换的问题

来源:4-2 自定义转换

慕粉1550527049

2017-10-20 20:02



为什么 把Dog 类转换成Cat类后 不能调用Dog类型中的方法! 用定义的
Dog dog=new Dog("");
Cat cat= dog;
用cat. 不能调用Dog类的方法

写回答 关注

5回答

  • 慕粉1550527049
    2017-12-20 16:09:36

    问题已解决

  • muke_Lyn
    2017-12-20 15:33:14

    1,肯定不能调用了啊,转换完得到的cat已经不是dog了,这个问题其实可以类比值类型,比如:double d=4.3;

    int i=(int)d;然后i会得到3,但是i不能当做d用?

  • oiu
    2017-11-13 14:55:39

    dog转为Cat,是只能用cat中的方法啊,不过不太理解为什么要Cat cat= dog;

  • 慕粉1550527049
    2017-11-10 19:54:03

    123看不到回答 苦笑

  • 慕神4489623
    2017-10-22 21:25:30

    因为你的cat已经转换为Cat类型的对象 ,之前的属性已经消失了。在内存中 cat的指针是指向cat的实例的。

C#面向对象编程

本系列教程主要是,带你学习C#面向对象编程的编程思想、编程技巧

68857 学习 · 153 问题

查看课程

相似问题