多态

面向对象的三大特性:
封装、继承、多态
1. 多态的定义
多态是面向对象编程的核心概念,指同一操作作用于不同对象时,能产生不同的执行结果 。‌‌‌
‌通俗理解‌:即“同一个接口,多种实现”,允许不同类的对象对同一消息做出不同响应 。
‌主要分类‌:分为编译时多态(静态多态)(如函数重载)和运行时多态(动态多态)(如虚函数重写)。
‌常见例子‌:比如“动物叫”,狗会吠、猫会喵,但都调用“叫”这个方法 。‌‌
函数重载:
函数名相同
参数列表不同(参数顺序不同、参数类型不同、参数的个数不同)
函数重写:
类间,要有继承关系
要有虚函数(virtual)
2.多态的构成条件
继承
重写
父类指针或引用指向子类对象:Parent p = new Child();
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。
多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
3.Java中没有虚函数
虚函数的存在是为了多态。
Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数。
4. 多态的Demo
基类:Animal.java
image

子类:1:Penguin.java
image

子类2:mouse.java
image

Main.java
image


posted @ 2026-06-04 11:04  wang迪  阅读(0)  评论(0)    收藏  举报