c 中new修飾子類方法的兩種用法

2021-09-11 01:46:59 字數 578 閱讀 9961

在c#中,在子類中可用new修飾乙個方法,一般的資料對new 修飾符的功能說明,往往只是說明用來在子類中隱藏父類的相同方法(相同的方法名和相同的簽名),這樣,對於同乙個方法而言,用子類的例項物件來呼叫時,執行的是子類中定義的新方法,實現了在子類中隱藏父類方法。但真的如果僅僅只是這樣嗎?在子類中使用new修飾符來修飾父類中的相同方法的作用,除了被隱藏了的父類方法之外,還可以通過類轉換來呼叫被隱藏了的方法,這樣,子類物件既也可以使用自身新定義的方法,也可以變相使用已被隱藏的父類的方法,提高了程式設計的靈活性,增強了類的功能。

請看以下**,類b是類a的乙個子類,在其中用new 修飾符重新義了方法f,在main方法中用子類b例項化了乙個物件b,並執行了子類b新建的f方法,並通過型別轉換呼叫了其父類a類的f方法。

class a

public void f()

}class b : a

}static void main()

{class b b=new b();

b.age=10;

b.f().;

((a)b).f();

console.writeline(b.i);

此時顯示10.

Hashtable的兩種同步方法(C )

多個執行緒同時對 hashtable 進行新增或刪除操作,可能會引起 hashtable 的錯誤,所以對它進行同步是必不可少的。同步的方法都有哪些呢?1 使用 hashtable.synchronized 同步 hashtable ht new hashtable ht hashtable.sync...

兩種attach to process的方法

背景 今天在做keepalive的實驗,設法模擬keepalive不成功的場景,從而達到 the local tcp will keep sending keep alive packet in an interval of keepaliveinterval for tcpmaxdataretra...

兩種attach to process的方法

背景 今天在做keepalive的實驗,設法模擬keepalive不成功的場景,從而達到 the local tcp will keep sending keep alive packet in an interval of keepaliveinterval for tcpmaxdataretra...