webpack的loader和plugin的区别(overloadoverride和overwrite的区别)

overload意为重载,override意为覆盖,overwrite意为重写从中文意思上看,并无差别,但是如下所示,给出英文定义:Overloading occurs when two or more methods in one class have the same method name but different parameters.Overriding or overwrite means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class.,下面我们就来说一说关于webpack的loader和plugin的区别?我们一起去了解并探讨一下这个问题吧!

webpack的loader和plugin的区别(overloadoverride和overwrite的区别)

webpack的loader和plugin的区别

overload意为重载,override意为覆盖,overwrite意为重写。从中文意思上看,并无差别,但是如下所示,给出英文定义:Overloading occurs when two or more methods in one class have the same method name but different parameters.Overriding or overwrite means having two methods with the same method name and parameters (i.e., method signature). One of the methods is in the parent class and the other is in the child class.

即overload为同一个类中,存在多个方法名相同的函数,但是他们拥有不同的参数(参数个数,类型,顺序)。而override和overwrite为子类和父类之间,子类和父类拥有同样的方法名和参数列表,只是将方法体重写。这是面向对象编程的多态性。

重载规则:(1)包含多个同名函数,但是参数各不相同。(2)参数类型、参数个数、参数顺序(不同类型间)至少有一个不同。(3)可以改变返回值类型(不能作为重载判断依据)(4)可以改变访问修饰符(不能作为重载判断依据)(5)可以改变异常类型和数量(不能作为重载判断依据)

重写规则:(1)存在于子类和父类之间(2)子类必须和父类的方法名和参数列表必须完全相同。(3)可以改变返回值类型,但子类返回值类型必须是父类返回值类型的派生类。(4)可以改变访问修饰符,但是子类权限只能更开放。(5)声明为final的方法不能被重写。(6)声明为static的方法不能被重写,但是可以被重新声明。(7)构造器不能被重写。(8)子类和父类在同一个包中时,子类可以重写父类所有方法(出private和final)。(9)子类和父类在不同包中时,子类只能重写父类的public和protected的非final方法。(10)重写可以抛出任何非强制性异常,但是不能抛出新的强制性异常,或者比父类方法更广泛的异常。

强制性异常:必须在抛出异常的部分try catch或者向上throws。非强制性异常:用不用try catch和throw都可以。java中只有RuntimeException是强制性异常,其余均为非强制性异常。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页