多态

1.多态

1.1多态的前提

1.有继承 / 实现关系 2.有方法重写 3.有父类引用指向子类对象

2.2成员访问的特点

2.2.1成员变量

编译的时候看父类,执行的时候也看父类

 

1.2.2成员方法

编译看父类,执行看子类

父类中可能有抽象方法没有方法体,所以统一执行子类的方法

1.2.3静态成员、静态方法

编译看父类,执行看子类

在编译的时候即使是用的子类去调用也会因为编译器的编译将子类转化为父类

1.3多态的好处和弊端

1.3.1好处

提高了代码的扩展性

具体体现 :

  1. 将方法的形参定义为父类类型, 这个方法就可以接收任意子类对象了

  2. 业务体现 :

A: 支付接口 -> 1. 支付平台 2. 银行卡支付 3 信用卡支付

B: 订单业务接口 -> 国内业务实现类 国外业务实现类

1.3.2弊端

不能直接调用子类特有的变量和方法

问题: 非要调用怎么办 ?

  1. 直接创建子类对象

  2. 向下转型

1.4多态的含义

1.4.1对象多态

将方法的形参定义为父类类型, 这个方法可以接收该父类的任意子类对象

1.4.2行为多态

同一个行为, 具有多个不同表现形式或形态的能力

1.5多态的转型问题

1.5.1向上转型

从子到父(父类引用指向子类对象)

Fu f = new Zi();

1.5.2向下转型

从子到父(父类引用指向子类对象)

Zi z = (Zi)f;

1.5.3关键字instanceof

对象名 instanceof 类型

判断一个对象是否是一个类的实例

通俗的理解:判断关键字左边的对象,是否是右边的类型,返回boolean类型结果

posted @   灵泽pro  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示