C# OOP技術(shù) 運(yùn)算符重載
有時(shí)可以把運(yùn)算符用于從類實(shí)例化而來的對(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)算符編寫代碼,執(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)代碼。
點(diǎn)擊加載更多評(píng)論>>