软件构造期末复习总结【四】:多态、重载、重写

目录

1.多态(Polymorphism)

1.1 分类

1.2使用多态的好处

2.重载

2.1 概念

2.2 细节解释

2.3 重载的目的

3.重写


1.多态(Polymorphism)

1.1 分类

特殊多态:一个方法有多个重名的实现(也叫方法重载)。例子:overloading

参数化多态:一个类型名字可以代表多个类型(泛型编程);

子类型多态(包含多态):一个变量名可以代表多个类的实例(子类型)。

1.2使用多态的好处

1. 应用程序不必为每一个派生类编写功能调用,只需要对抽象基类进行处理即可。大大提高程序的可复用性;
2. 派生类的功能可以被基类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。

2.重载

2.1 概念

方法重载一定要有不同的参数列表;可以有相同或不同的返回类型;可以有相同或不同的public,private,protected;可以有相同或者不同的异常。

2.2 细节解释

1.重载是一种静态多态(static polymorphism),在静态类型检查时判断;

2.可以在同一个类内重载,也可以在子类中重载;

3.只要参数列表不变,就不算重载。

2.3 重载的目的

       方法重载的主要好处就是不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数列表,即参数的个数或(和)数据类型可以不同。调用的时候,虽然方法名字相同,但根据参数列表可以自动选择对应的函数。这样我们在调用的时候,就不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。相对于if-else,重载要更优雅,减少了部分if-else的代码。

3.重写

1. 概念:在Java程序中,类的继承关系可以产生一个子类,子类继承父类,它具备了父类所有的特征,继承了父类所有的方法和变量,子类可以定义新的特征,当子类需要修改父类的一些方法进行扩展,增大功能,程序设计者常常把这样的一种操作方法称为重写,也叫称为覆写或覆盖。

2.重写和重载的区别:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值