多态
目录
多态的概念
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
为什么要使用多态
- 消除类型之间的耦合关系
- 可替换性
- 可扩充性
- 接口性
- 灵活性
- 简化性
多态存在的三个必要条件
- 继承
- 重写
- 父类引用指向子类对象:Parent p = new Child();
多态的实现方式
方式一:重写:
方式二:接口
- 生活中的接口最具代表性的就是插座,例如一个三接头的插头都能接在三孔插座中,因为这个是每个国家都有各自规定的接口规则,有可能到国外就不行,那是因为国外自己定义的接口类型。
- java中的接口类似于生活中的接口,就是一些方法特征的集合,但没有方法的实现。
方式三:抽象类和抽象方法
多态的分类
方式一
通用的多态
- 参数多态
泛型
- 包含多态
重写
特定的多态
- 过载多态
重载
- 强制多态
类型自动转换
方式二
- 静态多态(Static Polymorphism):也称为编译时多态,主要通过模板(Templates)或函数重载(Function Overloading)实现。这种多态在编译时就已经确定了具体的操作,因此具有类型安全和运行效率高的特点。
- 动态多态(Dynamic Polymorphism):也称为运行时多态,主要通过类的继承机制和虚函数(Virtual Functions)实现。这种多态在运行时才能确定具体的操作,因此能够处理异质对象集合,提高程序的灵活性和可扩展性。
多态的机制原理
多态的机制原理主要是通过虚函数表和虚函数指针实现的,它们允许在运行时根据对象的实际类型来确定调用哪个函数,从而实现了相同操作在不同对象上产生不同行为的效果。这种机制提高了程序的灵活性和可扩展性,是面向对象编程中不可或缺的一部分。
标签:Java,方式,实现,多态,接口,学习,机制,重写 From: https://www.cnblogs.com/BingBing-8888/p/18399024