对多态的理解

开门/开窗户/开电视。在这里的开就是多态!

多态性可以简单地概括为“一个接口,多种方法”,在程序运行的过程中才决定调用的函数。多态性是面向对象编程领域的核心概念。

多态性是允许你将父对象设置成为和它的一个或更多的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单来说就是允许将子类类型的指针赋值给父类类型的指针。

要知道的是:重载只是一种语言特性,与多态无关,与面向对象无关。

重载的实现是编译器根据不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(对编译器来说是不同的),对于这两个函数的调用,在编译期间就已经确定了,是静态的。也就是说,它们的地址在编译期就绑定了,因此,重载与多态无关。

函数地址在运行期绑定的(晚绑定),这样的是多态。“如果不是晚绑定,它就不是多态。”

多态的作用:

封装可以隐藏实现细节,使得代码模块化;

继承可以扩展已存在的代码模块;

封装和继承目的都是为了代码重用。

多态则是为了实现另一个目的:接口重用

注:以上内容来源于《程序员面试宝典》第5版 欧立奇 第10章  面向对象的部分





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值