开发者社区> 问答> 正文

求java大神戳入,关于java多态的问题~求指导!:报错

我们知道多态就是指多个类继承同一个父类,然后重写父类方法,说是可以增加程序的扩展性和利于维护,可是我想不通,假设现在有一个父类“Animal” ,里面有“Run”函数,Cat和Dog都继承于它并拥有各自的Run方法,利用animal引用对象指向Cat或者Dog的实例化对象,然后调用他们各自的Run方法,ok,我现在不这么干了,我不写Animal类了,直接写Cat和Dog让他们拥有同一个Run方法,然后实例化各自对象调用各自的Run方法,原谅我,我貌似感觉这两种方式扩展性差不多。。。。我如果想再添加一个鸟类的跑步方法,直接再写个Bird类然后写个Run方法不也一样吗?新人求教,表示这里有点晕晕的,多态的可扩展性究竟体现在哪里?谢谢了~

展开
收起
kun坤 2020-06-10 09:25:06 471 0
1 条回答
写回答
取消 提交回答
  • 根据你这个例子做个延伸,现在要开一个动物运动会,其中有一个长跑项目,参加的动物有Cat,Dog,Bird,那么你要怎么实现长跑这个方法? 你是不是会这么定义:
    void changpao(Cat cat,Dog dog,Bird bird) ,然后调用各自的run方法?
    如果多一个参与者,你就要修改changpao的定义? ######豁然开朗,谢谢了大神!###### 在这个例子里面,我认为可扩展性体现在你可以给bird添加run方法,或者不添加;不添加,你在bird上面调用的就是默认的方法; ######这里涉及到一个概念,向上和向下转型。。楼主自己去百度吧

    2020-06-10 09:25:11
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载