niusouti.com
更多“方法的重载和重写的区别是什么?”相关问题
  • 第1题:

    不符合方法重写规则的是哪个()?

    A.方法重写发生在类继承时

    B.重写的方法与被重写的方法返回值类型必须一致

    C.重写的方法与被重写的方法参数列表必须不同

    D.子类可以重写一个父类中已有的方法


    参考答案:C

  • 第2题:

    重载(overload)和重写(overried,有的书也叫做

    “覆盖”)的区别?


    正确答案:

     

    常考的题目。从定义上来说:
    重载:是指允许存在多个同名函数,而这些函数的
    参数表不同(或许参数个数不同,或许参数类型不
    同,或许两者都不同)。
    重写:是指子类重新定义复类虚函数的方法。
    从实现原理上来说:
    重载:编译器根据函数不同的参数表,对同名函数
    的名称做修饰,然后这些同名函数就成了不同的函
    数(至少对于编译器来说是这样的)。如,有两个
    同名函数:function func(p:integer):integer;和function
    func(p:string):integer;。那么编译器做过修饰后的函
    数名称可能是这样的:int_func、str_func。对于这
    两个函数的调用,在编译器间就已经确定了,是静
    态的。也就是说,它们的地址在编译期就绑定了(早
    绑定),因此,重载和多态无关!
    重写:和多态真正相关。当子类重新定义了父类的
    虚函数后,父类指针根据赋给它的不同的子类指
    针,动态的调用属于子类的该函数,这样的函数调
    用在编译期间是无法确定的(调用的子类的虚函数
    的地址无法给出)。因此,这样的函数地址是在运
    行期绑定的(晚绑定)。

  • 第3题:

    重载的关键字_____,重写的关键字_____,请描述一下他们的区别


    正确答案:
     

  • 第4题:

    如何区别重载方法?


    正确答案: 不同的参数类型,不同的参数个数,不同的参数顺序

  • 第5题:

    Java中有关“重载”和“重写”的说法正确的是()  

    • A、“重写”是父类与子类之间多态性的一种表现
    • B、“重载”是一个类中多态性的一种表现
    • C、“重载”的方法是可以改变返回值的类型
    • D、“重载”的方法不能改变返回值的类型

    正确答案:A,B,C

  • 第6题:

    简述方法的重载与覆写的区别。


    正确答案:方法重载是发生在一个类中,方法名称相同、参数的类型及个数不同,不受权限的限制。而覆写是发生在继承关系之中,子类和父类定义了方法名称相同、参数类型及个数、返回值类型完全相同的方法时所发生的操作,在子类覆写父类方法时,被覆写的方法不能拥有比父类更严格的访问权限。

  • 第7题:

    以下说法正确的是()。

    • A、虚方法必须在派生类中重写,抽象方法不需要重写
    • B、虚方法可以在派生类中重写,抽象方法必须重写
    • C、虚方法必须在派生类中重写,抽象方法必须重写
    • D、虚方法可以在派生类中重写,抽象方法也不需要重写

    正确答案:B

  • 第8题:

    运算符重载使用成员函数方法和友元函数方法是否都可以?并且是没有区别的吗?


    正确答案:两种方都法可以。有区别,参数个数不同。

  • 第9题:

    判断题
    在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了mul()方法即可支持该类对象的**运算符。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第10题:

    单选题
    在C#类中〃()允许相同名称、不同参数个数或者参数类型的方法存在。
    A

    方法重写

    B

    方法重载

    C

    方法取消

    D

    方法覆盖


    正确答案: B
    解析: 暂无解析

  • 第11题:

    问答题
    简述重载和重写的区别。

    正确答案: 1、所处位置不同重载在同类中重写在父子类中。
    2、定义方式不同重载方法名相同参数列表不同重写方法名和参数列表都相同。
    3、调用方式不同重载使用相同对象以不同参数调用重写用不同对象以相同参数调用。
    4、多态时机不同重载时编译时多态重写是运行时多态。
    解析: 暂无解析

  • 第12题:

    问答题
    如何区别重载方法?

    正确答案: 不同的参数类型,不同的参数个数,不同的参数顺序
    解析: 暂无解析

  • 第13题:

    重裁和重写的区别


    正确答案:
      

  • 第14题:

    类成员函数的重载、覆盖和隐藏区别?


    正确答案:

     

    a.成员函数被重载的特征:
    (1)相同的范围(在同一个类中);
    (2)函数名字相同;
    (3)参数不同;
    (4)virtual 关键字可有可无。
    b.覆盖是指派生类函数覆盖基类函数,特征是:
    (1)不同的范围(分别位于派生类与基类);
    (2)函数名字相同;
    (3)参数相同;
    (4)基类函数必须有virtual 关键字。
    c.“隐藏”是指派生类的函数屏蔽了与其同名的基
    类函数,规则如下:
    (1)如果派生类的函数与基类的函数同名,但是
    参数不同。此时,不论有无virtual关键字,基类的
    函数将被隐藏(注意别与重载混淆)。
    (2)如果派生类的函数与基类的函数同名,并且
    参数也相同,但是基类函数没有virtual 关键字。此
    时,基类的函数被隐藏(注意别与覆盖混淆)

  • 第15题:

    下列关于构造方法的说法正确的是() 

    • A、构造方法不能被继承
    • B、构造方法不能被重写
    • C、构造方法不能被重载
    • D、构造方法可以被重载

    正确答案:A,B,D

  • 第16题:

    说明覆盖和重载之间的区别。


    正确答案: 覆盖就是子类重新实现父类中的某个方法,
    重载就是在对象有多个同名的方法,但是参数不同。

  • 第17题:

    重写后的方法不能比被重写的方法有()的访问权限,重写后的方法不能比被重写的方法产生更多的异常。


    正确答案:更严格

  • 第18题:

    简述方法重写和方法重载的区别


    正确答案:重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同

  • 第19题:

    在C#类中〃()允许相同名称、不同参数个数或者参数类型的方法存在。

    • A、方法重写
    • B、方法重载
    • C、方法取消
    • D、方法覆盖

    正确答案:B

  • 第20题:

    在Python中定义类时,运算符重载是通过重写特殊方法实现的。例如,在类中实现了mul()方法即可支持该类对象的**运算符。


    正确答案:错误

  • 第21题:

    问答题
    简述方法的重载与覆写的区别。

    正确答案: 方法重载是发生在一个类中,方法名称相同、参数的类型及个数不同,不受权限的限制。而覆写是发生在继承关系之中,子类和父类定义了方法名称相同、参数类型及个数、返回值类型完全相同的方法时所发生的操作,在子类覆写父类方法时,被覆写的方法不能拥有比父类更严格的访问权限。
    解析: 暂无解析

  • 第22题:

    填空题
    重写后的方法不能比被重写的方法有()的访问权限,重写后的方法不能比被重写的方法产生更多的异常。

    正确答案: 更严格
    解析: 暂无解析

  • 第23题:

    单选题
    以下说法正确的是()。
    A

    虚方法必须在派生类中重写,抽象方法不需要重写

    B

    虚方法可以在派生类中重写,抽象方法必须重写

    C

    虚方法必须在派生类中重写,抽象方法必须重写

    D

    虚方法可以在派生类中重写,抽象方法也不需要重写


    正确答案: C
    解析: 暂无解析

  • 第24题:

    问答题
    简述方法重写和方法重载的区别

    正确答案: 重写是子类的方法覆盖父类的方法,要求方法名和参数都相同,重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同
    解析: 暂无解析