再学重写和重载

简介: 再学重写和重载

重载(overload):

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


   重载的要求:


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


   作用:


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


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


重写(overide):

   也叫方法覆盖。


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


   重写的要求:


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


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


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


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


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


相关文章
|
存储 监控 固态存储
硬盘对碎片整理的需求
【10月更文挑战第1天】硬盘对碎片整理的需求
358 4
|
Cloud Native 架构师 Devops
云原生时代领域驱动设计(DDD)的价值——从《没有银弹》说起
软件开发需要面对本质困难和附属困难。云原生、DevOps实践大幅降低了附属困难,使得架构师可以全力聚焦于业务复杂性,而DDD恰是管理业务复杂性的有效方法。
1810 0
云原生时代领域驱动设计(DDD)的价值——从《没有银弹》说起
|
5月前
|
Ubuntu 数据安全/隐私保护 网络架构
Ubuntu系统的几种上网方式,Ubuntu安装后如何联网?
在Ubuntu系统中联网需要进行一些简单的设置和配置。我们需要确保我们的网络硬件已经被正确地识别和安装,我们的系统软件已经被更新,我们的网络连接已经被正确地配置。
|
传感器 数据采集 物联网
元宇宙与物联网:连接虚拟与现实
【10月更文挑战第29天】元宇宙与物联网正逐步改变我们的生活和工作方式。元宇宙通过区块链、云计算等技术,构建了一个与现实世界平行的虚拟空间;物联网则通过智能感知和连接,将物体与互联网相连,提供精准数据和服务。两者融合,提升了虚拟空间的真实感和沉浸感,带来了更智能的服务,共同推动社会的数字化和智能化进程。
|
机器学习/深度学习 人工智能 自然语言处理
揭开AI的神秘面纱:人工智能简介
这是一篇人工智能简介,从人工智能的定义,起源,分类,相关技术,应用前景与存在的挑战几个方面介绍人工智能
|
NoSQL Redis Sentinel
SpringBoot使用分布式锁
SpringBoot使用分布式锁
2877 0
SpringBoot使用分布式锁
|
数据采集
正则表达式替换
正则表达式替换
|
Python
conda升级python版本
conda升级python版本
2127 0
|
前端开发
CSS层级小技巧:在滚动时自动添加头部阴影
CSS层级小技巧:在滚动时自动添加头部阴影
403 0
CSS层级小技巧:在滚动时自动添加头部阴影
|
SQL 大数据 开发者
电商项目之交易订单明细流水表 SQL 实现(下)|学习笔记
快速学习电商项目之交易订单明细流水表 SQL 实现(下)
电商项目之交易订单明细流水表 SQL 实现(下)|学习笔记

热门文章

最新文章