Java中多态的学习

多态


多态的概念

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

多态就是同一个接口,使用不同的实例而执行不同操作。

为什么要使用多态

  • 消除类型之间的耦合关系
  • 可替换性
  • 可扩充性
  • 接口性
  • 灵活性
  • 简化性

多态存在的三个必要条件

  • 继承
  • 重写
  • 父类引用指向子类对象:Parent p = new Child();

多态的实现方式

方式一:重写:

方式二:接口

  • 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。
  • java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。

方式三:抽象类和抽象方法

多态的分类

方式一

通用的多态

  • 参数多态

​ 泛型

  • 包含多态

​ 重写

特定的多态

  • 过载多态

​ 重载

  • 强制多态

​ 类型自动转换

方式二

  • 静态多态(Static Polymorphism):也称为编译时多态,主要通过模板(Templates)或函数重载(Function Overloading)实现。这种多态在编译时就已经确定了具体的操作,因此具有类型安全和运行效率高的特点。
  • 动态多态(Dynamic Polymorphism):也称为运行时多态,主要通过类的继承机制和虚函数(Virtual Functions)实现。这种多态在运行时才能确定具体的操作,因此能够处理异质对象集合,提高程序的灵活性和可扩展性。

多态的机制原理

多态的机制原理主要是通过虚函数表和虚函数指针实现的,它们允许在运行时根据对象的实际类型来确定调用哪个函数,从而实现了相同操作在不同对象上产生不同行为的效果。这种机制提高了程序的灵活性和可扩展性,是面向对象编程中不可或缺的一部分。

posted @   BingBing爱化学-04044  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示