重构 重写 重载

来源:互联网 发布:有什么好玩的游戏知乎 编辑:程序博客网 时间:2024/06/05 15:12

转载自:http://blog.csdn.net/u011031854/article/details/11570885

重构(Refactoring):

即只是和父类的方法名相同,方法的签名并不相同;即不是同一个函数;重构就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。定义强调是在不改变"软件之可察行为"前提下,不改变"软件之可察行为"就是说让修改不影响外部使用程序(程序员),在其外部来看,程序的行为和结果没有任何的变化.重构只是对程序内部结构进行调整,让代码更加容易理解,然后更容易维护。

<------------------------------------------------------------------------------------------------------------------------------------>

重载(overload):

    在一个类定义中,可以编写几个同名的方法,但是只要它们的签名参数列表不同,Java就会将它们看做唯一的方法。简单的说,一个类中的方法与另一个方法同名,但是参数表不同,这种方法称之为重载方法。参数类型,或者参数个数不同

<------------------------------------------------------------------------------------------------------------------------------------>

重写(override):

    即把父类的方法覆盖了,重新实现;即是同一个函数;

    通常,派生类继承基类的方法,因此,在调用对象继承方法的时候,调用和执行的是基类的实现.但是,有时需要对派生类中的继承方法有不同的实现

    例如,假设动物类存在""的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法

    "重写"基类方法就是修改它的实现或者说在派生类中重新编写。

重写的特点:

    1、必须是在继承里,

    2、方法名、返回值类型、参数个数和参数类型 都必须相同

    3、派生类重写的方法的访问权限不能低于基类的权限

    4、派生类抛出的异常应该和基类相等或比基类更小