多态与重载的区别

与Java相关信息
多态也叫polymorphism, 它是指某一抽象的类可以有多种实装类的结构.
这个抽象的对象一般, 定义了某类对象类似方法的共同名称, 比如说, 如果偶们定义乐器作为一个抽象的对象, 偶们也可以把演奏作为一个共同的方法, 实际上随着乐器的不同演奏的方法都不相同, 抽象的乐器演奏方法, 和各类具体乐器及其演奏方法的关系叫做多态. 多态主要靠interface和implement实现, 也可以靠abstract类和extend来实现. 二者的区别在于, INTERFACE由于只是定义了接口, 因此适合用于模块对外的关系定义(或者说, 定义一个插口可以插各种不同的对象), 抽象类, 可以定义方法的内容, 适合制定共通方法.


重载OVERLOADING则是另外一种关系啦, 它是指类在不断细分的过程中(所谓继承关系), 子类对父类的方法可以改造的关系, 比如说, 奔驰汽车的制动系统, 在其各个型号上都有所不同. 重载在extend之后, 重新定义父类的方法实现.
当一个抽象类中的方法被子类重新定义后, 这就不仅仅是多态啦, 而且复合上了重载.

overriding在汉语中似乎没有一个确切的翻译, 有人叫它重写, 有人叫它方法多态, 它和上面两个概念的层次有所不同, 它只代表了在一个类的方法定义中, 可以使用同一名称定义输入输出数据类型不同的方法


简而言之, 多态是指抽象的对象可以有多种实际的形态, 重载是指子类对从父类继承过来的方法进行重新定义, OVERRIDING是类定义的一个手法, 不过因为没有准确的翻译, 很多人被它搞糊涂啦.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值