2.overload、override、abstract分别是什么意思?
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/03 03:01:05
2.overload、override、abstract分别是什么意思?
2.overload、override、abstract分别是什么意思?
2.overload、override、abstract分别是什么意思?
重载 (Overload):类中定义的方法的不同版本,用于同一个类的所有方法(包括从父类中继承而来的方法).表示有两个或以上函数同名,但参数的个数和/或类型不同,可以省略这个关键字.
特点:(两必须一可以)
方法名必须相同
参数列表必须不相同
返回值类型可以不相同
重写(Override):子类中为满足自己的需要来重新定义父类某个方法的不同实现.
通过使用override关键字来实现重写.
只有虚方法和抽象方法才能被重写.
要求:(三相同)
相同的方法名称
相同的参数列表
相同的返回值类型
重载与重写的相同点:
1.都要求相同的方法名
2.都可以用于抽象方法和非抽象方法之间
重载与重写的不同点:
1.方法重载要求参数列表必须不一致,而方法重写要求参数列表必须一致.
2.方法重载不限制返回类型,而方法重写要求返回类型必须一致.
3.方法重载用于同一个类的所有方法(包括从父类中继承而来的方法),方法重写只能用于子类重写父类的方法.
4.方法重写对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制.
5.父类的一个方法只能被子类重写一次,而一个方法在所在的类中可以被重载多次.
Overload和Override是两个没有关系的东西,他们可以同时出现,也可以分别出现,表达的意思也完全不同.
抽象类机制中总是要定义一个公共基类,而将特定的细节留给继承都来实现.具体的说,当需要创建一个基础的对象,而创建所需的某些方法并没有完整地定义出来时,就需要用到抽象类.通过使用抽象概念,可以在开发项目中创建扩展性很好的架构.