前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大白话之面向对象特性之一多态

大白话之面向对象特性之一多态

作者头像
陶朱公Boy
发布2022-10-28 13:55:15
1770
发布2022-10-28 13:55:15
举报
文章被收录于专栏:用户10106051的专栏

面向对象编程(OOP)三大特性大家还记得吧:封装、继承、多态。

今天我们温故而知新,把多态聊清楚。

01

什么是多态

多态细分:静态编译和动态编译两种

1)静态主要体现在方法重载上

2)动态就是所谓的运行时绑定

上面说的编译时多态是静态的,主要是指方法的重载,它是根据参数【类型和个数】的不同来区分不同的函数,通过编辑之后会变成两个不同的函数,在运行时谈不上多态。

而运行时多态(一般严格意义上的多态指的就是这种)是动态的,它是通过动态绑定来实现的【向上转型】,也就是我们所说的多态性。

举例:

People p=new Man();

People w=new Woman();

一句话总结:让程序可以选择多个运行状态,这就是多态性。

02

特点

多态通过分离做什么和怎么做,从另一个角度将接口和实现分离开来。

03

作用(解决了什么问题)

多态不但能够改善代码的组织结构和可读性,还能够创建可扩展的程序—无论在项目最初创建时还是在需要添加新功能时都可以“生长” 的程序。

多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要它们都是从同一基类导出而来的。这种区别是根据方法行为的不同而表现出来的。

04

多态和继承的关系

继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。

同时继承也为实现多态做了铺垫

05

总结

多态的核心是向上转型

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陶朱公Boy 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档