浅谈面向对象中的多态

本文探讨了面向对象编程中的多态性概念,包括其前提条件和成员访问特点。多态有助于提高代码的维护性和扩展性,但也存在无法访问子类特有功能的缺点。此外,文章还介绍了抽象类和接口,以及它们与多态的关系,强调了抽象类与接口在设计上的差异和使用场景。
摘要由CSDN通过智能技术生成

面向对象有三大特征:封装、继承和多态。今天我们来谈谈多态。

多态

多态概述
什么是多态?
每每谈及多态时,总有一种只可意会不可言传的感觉。简单来说多态就是某个事物,在不同时刻表现出来的不同状态。
比如:猫可以是猫的类型,也可以是动物的类型(因为猫也是动物)。
多态的前提

  • 类和类要有继承关系。
  • 要有方法重写。没有也行,但没有的话多态就没有意义了。
  • 要有父类引用指向子类对象。(父类 对象名 = new 子类();)

多态中的成员的访问特点

  • 成员变量的访问特点:编译看左边,运行看左边
  • 成员方法的访问特点:编译看左边,运行看右边
  • 构造方法:创建子类对象时,会先访问父类的构造方法,对父类的数据进行初始化
  • 静态方法的访问特点:编译看左边,运行看左边(静态方法是属于类的,算不上重写,所以访问还是左边的)

多态的好处
可总结如下

  • 提高了代码的维护性(继承)
  • 提高了代码的扩展性(多态)

多态虽然有好处,但是也有弊端。多态的弊端就是不能够访问子类特有的功能。(因为是父类引用指向子类对象)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值