首页 理论教育 Java程序设计:继承中的多态

Java程序设计:继承中的多态

时间:2023-10-18 理论教育 版权反馈
【摘要】:封装、继承、多态是面向对象的三大特征,前面已经讲过封装和继承,这一节主要讲解多态。Java实现多态有三个必要条件:继承、重写和向上转型。如Cat类和Dog类都继承了Animal类,并且都重写了getInfo方法,父类animal引用为上转型对象,三个条件实现了Java中的多态,即通过animal引用来调用子类中重写后的方法,表现了多种形态,即输出了不同的结果。

Java程序设计:继承中的多态

封装、继承、多态是面向对象的三大特征,前面已经讲过封装和继承,这一节主要讲解多态。

Java实现多态有三个必要条件:继承、重写和向上转型。只有满足这三个条件,开发人员才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而执行不同的行为。如Cat类和Dog类都继承了Animal类,并且都重写了getInfo方法,父类animal引用为上转型对象,三个条件实现了Java中的多态,即通过animal引用来调用子类中重写后的方法,表现了多种形态,即输出了不同的结果。

【例4-6】 父类Graph中包含计算面积的area方法,子类Rectangle和Triangle,重写父类Graph中的area方法。

父类Graph的内容如下所示:

第9~12行定义了area方法,该方法返回值为0.0,没有实际意义,需要被子类重写。

子类Rectangle,重写了父类Graph中的area方法,代码如下:

第6~8行,重写了父类Graph中的area方法。(www.xing528.com)

子类Triangle,重写了父类Graph中的area方法,代码如下:

第6~8行,重写了父类Graph中的area方法。

编写测试类Polymorphic Test,代码如下:

上述代码的运行结果如下:

第4、6行是将子类对象赋值给父类的引用变量,故第5、7行使用父类的引用变量即上转型对象调用方法时,调用的是子类中重写后的方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈