override與過載(overload)的區別

iDotNetSpace發表於2010-06-03

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的子類的方法丟擲的異常只能是父類方法丟擲異常的子異常。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-664323/,如需轉載,請註明出處,否則將追究法律責任。

相關文章