再学重写和重载

重载(overload):

    提供了创建同名的方法的能力,但这些方法需要使用不同的参数类型。

    重载的要求:

    两个方法的方法名相同,但参数类型和个数要有所不同。    发生在一个类里。

    作用:

    在不改变原方法的基础上新增功能。(用对象.的时候,可以.出两个方法)可以扩展函数。让类以统一的方式处理不同类型数据。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法,这就是多态性。方法重载可以提高函数的可读性。

    主要用在构造函数里,在初始化类时,通过重载构造方法,来给对象赋予不同的值。

    

重写(overide):

    也叫方法覆盖。

    子类不想原封不动的封装父类的方法,而是做一定的修改。

    重写的要求:

    用新方法覆盖原来的方法。   发生在继承类里。

    重写的两个方法返回值,方法名,参数列表必须完全一致。这样才能完全覆盖。像是扩展函数功能的另一种方法。

    当子类重写了父类中的print()方法后,使用S调用的是子类的print()方法,父类中的print()方法被覆盖了。也就是说,如果现在子类将父类中的方法重写了,调用的时候肯定是调用被重写过的方法,那么如果现在一定要调用父类中的方法该怎么办呢?此时,通过使用.. super关键就可以实现这个功能,super关键字可以从子类访问父类中的内容,如果要访问被重写过的方法,使用“super.方法名(参数列表)”的形式调用。

    在面向对象程序设计的思想中,类的继承和多态性主要就是体现在子类重写父类的方法。而构造方法的重载作为方法重载的一个典型特例,可以通过重载构造方法来表达对象的多种初始化行为。

    我认为,重载和重写都是扩展函数功能的两种方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小王师傅66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值