zoukankan      html  css  js  c++  java
  • override与重载(overload)的区别

    Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。 
            Overload是指同一个类中不同方法(可以在子类也可以在父类中定义)间的关系,这些方法有着相同的名称和不同的参数类型。

            也就是说,如果在子类声明相同的方法名称的时候,如果不是用inherited来继承的话,就会将父类的方法覆盖掉;而且父类的方法声明必须标识为virtual和dynamic;overload比较好理解,就是同类里有许多相同的方法名称,但是参数不相同。且第一个方法可以不用overload来标识。

            override的方法返回值类型必须一致,其modifier可以扩大,不可以缩小。

            一个不是用abstract标识的方法不可以override成abstract方法。

           override的子类的方法拋出的异常只能是父类方法拋出异常的子异常。

    Override是指父类和子类之间方法的继承关系,这些方法有着相同的名称和参数类型。 
            Overload是指同一个类中不同方法(可以在子类也可以在父类中定义)间的关系,这些方法有着相同的名称和不同的参数类型。

            也就是说,如果在子类声明相同的方法名称的时候,如果不是用inherited来继承的话,就会将父类的方法覆盖掉;而且父类的方法声明必须标识为virtual和dynamic;overload比较好理解,就是同类里有许多相同的方法名称,但是参数不相同。且第一个方法可以不用overload来标识。

            override的方法返回值类型必须一致,其modifier可以扩大,不可以缩小。

            一个不是用abstract标识的方法不可以override成abstract方法。

           override的子类的方法拋出的异常只能是父类方法拋出异常的子异常。

  • 相关阅读:
    [luoguP1196] 银河英雄传说(并查集)
    [luoguP1111] 修复公路(并查集)
    [luoguP2387] 魔法森林(LCT + 并查集)
    [BZOJ2594] [Wc2006]水管局长数据加强版(LCT + kruskal + 离线)
    [luoguP2045] 方格取数加强版(最小费用最大流)
    [BZOJ2843] 极地旅行社(LCT)
    [luoguP3690] 【模板】Link Cut Tree
    [luoguP3203][HNOI2010]BOUNCE 弹飞绵羊(LCT)
    [luoguP1901] 发射站(单调栈)
    codeforces Round#381 div2
  • 原文地址:https://www.cnblogs.com/zrz43/p/1750678.html
Copyright © 2011-2022 走看看