首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

深入繼承:抽象類別與介面實戰案例(二)中——租賃基類 Hire 與抽象方法分派機制

     編輯:關於C語言

實作基底類別中的抽象方法並分派任務給衍生類別

#region 實現基類中的抽象方法以及將任務分派到下面的派生類去
/// <summary>
/// 實現基類的抽象方法,但考慮還需要下一層派生類完成
/// 所以選擇讓它呼叫其他可被派生類修改的方法
/// </summary>
public override double GetMoney() { return TGetMoney(); }
public override string Execute() { return TExecute(); }

/// <summary> 在此不處理,交由處理它的派生類完成 </summary>
public virtual double TGetMoney() { return 0; }
/// <summary> 在此不處理,交由處理它的派生類完成 </summary>
public virtual string TExecute() { return ""; }
#endregion
}
}

/// <summary> 作為租賃業務的一個基類,協助實作 Root 類別並增加租賃相關屬性與方法 </summary>
public abstract class Hire : Root
{
    #region 系列的私有欄位
    /// <summary> 租賃天數 </summary>
    protected int _day;
    /// <summary> 書的押金 </summary>
    protected double _deposit;
    #endregion
}

對外公開屬性(定價、書名、使用者名稱、天數、日租金)

#region 外露屬性(定價,書名,用戶名,天數,日租金)
/// <summary> 取得書的定價 </summary>
public double Price { get { return _price; } }
/// <summary> 取得使用者名稱 </summary>
public string Uname { get { return _uname; } }
/// <summary> 取得書的名稱 </summary>
public string Bname { get { return _bookname; } }
/// <summary> 取得或設定租賃天數 </summary>
public int Day { get { return _day; } set { _day = value; } }
/// <summary> 取得或設定書的押金 </summary>
public double Deposit { get { return _deposit; } set { _deposit = value; } }
/// <summary> 實收現金 </summary>
public double Cash { get { return _cash; } set { _cash = value; } }
#endregion
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved