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的子类的方法拋出的异常只能是父类方法拋出异常的子异常。

  • 相关阅读:
    Jzoj5542 董先生的钦点
    Jzoj5542 董先生的钦点
    (各种)FFT模板
    (各种)FFT模板
    Jzoj3528 图书馆
    Jzoj3528 图书馆
    Jzoj5317 Func
    Jzoj5317 Func
    Jzoj3591 数据
    【UVa11021】Tribles
  • 原文地址:https://www.cnblogs.com/zrz43/p/1750678.html
Copyright © 2011-2022 走看看