我在我的基類中有一個方法返回一個布爾值,我希望這個布爾值可以確定我的派生類中相同的重寫方法會發生什麼。使用基類方法的返回值?
基地:
public bool Debt(double bal)
{
double deb = 0;
bool worked;
if (deb > bal)
{
Console.WriteLine("Debit amount exceeds the account balance – withdraw cancelled");
worked = false;
}
else
bal = bal - deb;
worked = true;
return worked;
}
衍生
public override void Debt(double bal)
{
// if worked is true do something
}
注意BAL來自構造我前面
確保您的基類方法是虛擬的:'公共虛擬BOOL德布(雙BAL)'或派生類將只是將其隱藏。只是一個側面說明。 – 2013-04-30 16:58:31
此外返回值類型必須匹配,否則你會得到一個編譯器錯誤,'' .Derived.Debt(double)':返回類型必須是'bool'以匹配被重寫的成員' .Base.Debt(double) 「'。 –
2013-04-30 17:02:56