C# OOP技術(shù) 運算符重載
提問人:劉團(tuán)圓發(fā)布時間:2020-12-04
有時可以把運算符用于從類實例化而來的對象,因為類可以包含如何處理運算符的指令。
例如,給Animal類添加一個新屬性Weight。接著使用下述代碼比較家畜的體重:
if (cowA.Height > cowB.Height)
{
…
}
使用運算符重載,可在代碼中提供隱式使用Weight屬性的邏輯,如下面的代碼所示:
if (cowA > cowB)
{
…
}
大于運算符>被重載了。我們?yōu)橹剌d運算符編寫代碼,執(zhí)行上述操作,這段代碼用作類定義的一部分,而該運算符作用于這個類。在上例中,使用了兩個Cow對象,所以運算符重載定義包含在Cow類中。也可以采用相同的方式重載運算符,使其處理不同的類,其中一個(或兩個)類定義包含達(dá)到這一目的的代碼。
注意,只能采用這種方式重載現(xiàn)有的C#運算符,不能創(chuàng)建新的運算符。但可以為一元(一個操作數(shù))和二元 (兩個操作數(shù))運算符(如+或>)提供實現(xiàn)代碼。
繼續(xù)查找其他問題的答案?
相關(guān)視頻回答
點擊加載更多評論>>