新-航 2021-11-12 11:15 采纳率: 100%
浏览 14
已结题

关于多态的向上转型问题

向上转型:父类对象引用指向子类对象
我刚开始学习多态的时候就这一句话把我弄混了,向上转型 不应该是从小到大吗,这个解释是:Animal a = new Dog(); 如果按照上面的那句话理解 就是父类对象的引用a 指向的子类对象; a本来好好的是父类类型, 结果指向了子类,这不是有大的指向小的吗? 这算什么向上转型啊;
直到我这个概念: 向上转型就是把子类对象的引用转换成父类类型,我看到这局话想了一下,觉得很有道理。我对这句话的理解是:a是子类对象的引用 转换成了父类类型 这个解释才合理啊
写这段话的主要目的就是给像我一样在学习多态时有这方面困惑的小伙伴 一个解决办法。

  • 写回答

2条回答 默认 最新

  • Admini$trat0r .net领域新星创作者 2021-11-12 11:35
    关注

    多态这一块举个例子吧
    Animal a = new Dog(); 或者Animal a = new Cat();
    可以直接a.doSomeThing();//比如叫
    所以不需要关心什么动物,直接叫就完事了
    这样添加一个动物也不用改a.doSomeThing();的代码
    可以看看简单工厂模式这个例子

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行