重写、重载到底是不是多态?

重写、重载到底是不是多态?

重写(overriding)

**规则:**方法名必须相同、参数必须相同、返回值一致,或者是其父类返回值的子类、访问权限不能大于父类。

需要继承父类,必须继承父类才会存在重写,不然你重写个 de,这里很重要。

重载(Overloading)

**规则:**在同一个类中方法名相同,参数数量不同、顺序不同、类型不同

这里需要的重点同类同名称

多态

百度百科:指为不同数据类型的实体提供统一的接口。
计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依据对象所属类别,引发对应类别的方法,而有不同的行为。简单来说,所谓多态意指相同的消息给予不同的对象会引发不同的动作
多态也可定义为“一种将不同的特殊行为和单个泛化记号相关联的能力”。
多态还分为,动态多态、静态多态,具体看
百度百科

多态存在的3个必要条件:
继承、重写、向上转型(父类引用指向了子类对象)

扩展:向下转型(子类引用指向父类对象)

需要具体参考的同学:向上转型、向下转型

自我理解:一种东西多种形态,比如接口,在一个接口里面我可以定义多个方法来声明我这个接口,是什么也可以是什么。。。

重写、重载到底是不是多态?

答案:
个人误区,我认为重写不是多态因为它先有的继承,我以为它不属于多态,其实不然,它们的关系不是这样,应该这么说。

重写必须(属于)是继承,重写是多态的一种表现形式。

那么重载呢?
个人认为是,首先百度百科上是这么写的,重载(overloading)属于静态多态,其次个人理解的多态是一个东西多种形态,那么重载也是多态,因为重载就是同类同名称的不同形态,只不过他是一种特殊的多态,重载是一个类的行为的多态性的体现。
重载这里我参考了:重载是不是多态?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值