位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C# > 問(wèn)題詳情

C# OOP技術(shù) 運(yùn)算符重載

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-04

有時(shí)可以把運(yùn)算符用于從類實(shí)例化而來(lái)的對(duì)象,因?yàn)轭惪梢园绾翁幚磉\(yùn)算符的指令。

例如,給Animal類添加一個(gè)新屬性Weight。接著使用下述代碼比較家畜的體重:

if (cowA.Height > cowB.Height)

{

  …

}

使用運(yùn)算符重載,可在代碼中提供隱式使用Weight屬性的邏輯,如下面的代碼所示:

if (cowA > cowB)

{

  …

}

    大于運(yùn)算符>被重載了。我們?yōu)橹剌d運(yùn)算符編寫(xiě)代碼,執(zhí)行上述操作,這段代碼用作類定義的一部分,而該運(yùn)算符作用于這個(gè)類。在上例中,使用了兩個(gè)Cow對(duì)象,所以運(yùn)算符重載定義包含在Cow類中。也可以采用相同的方式重載運(yùn)算符,使其處理不同的類,其中一個(gè)(或兩個(gè))類定義包含達(dá)到這一目的的代碼。

    注意,只能采用這種方式重載現(xiàn)有的C#運(yùn)算符,不能創(chuàng)建新的運(yùn)算符。但可以為一元(一個(gè)操作數(shù))和二元 (兩個(gè)操作數(shù))運(yùn)算符(如+或>)提供實(shí)現(xiàn)代碼。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部