二、實作介面、抽象出具體邏輯方法、定義枚舉與內部成員
namespace EBook
{
/// <summary> 實作介面中回傳金額的方法,並定義一系列下層類別都會用到的成員,作為介面下的總攬 </summary>
public abstract class Root : Money
{
protected U_Type _utype; // 會員類型
protected B_Type _btype; // 書的類型
protected S_Type _stype; // 交易類型
protected string _bookname; // 書名
protected string _uname; // 用戶名
protected double _price; // 書的定價
protected double _cash; // 實際支付現金
public abstract double GetMoney();
public abstract string Execute();
}
/// <summary> 作為銷售類別的基類,針對介面與基類做補充說明 </summary>
public abstract class Sell : Root
{
/// <summary> 初始化該類別 </summary>
public Sell(string un, string bn, double p)
{ _uname = un; _bookname = bn; _price = p; }
}
#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; } }
#endregion
}