0
在我的項目中,我使用了5個不同的描述金融資產的子類:債券,基金,期貨,期權和股票。其中每個都有很多共同點,所以我創建了類「BaseAsset」並讓所有資產類從該類繼承。如何將類似的屬性移動到基類
所有的小類都有特定交易列表(BondTrades,FundTrades等)。
public class Bond : BaseAsset
{
// Bond-specific properties
public double FaceValue { get; set; }
public virtual List<BondTrade> Trades { get; set; }
子類也有,他們都實施,一些屬性僅是略有不同,e.g:
返回移動平均價格的屬性。該移動平均價格是基於類的特定行業計算的,所以它看起來像這樣的債券類:
public double movingAveragePrice
{
get
{
foreach(BondTrade trade in this.Trades)
{
nominator += (trade.Price.Value * trade.Quantity)/trade.ExchangeRate;
denominator += trade.Quantity;
}
return nominator/denominator;
}
}
而對於股票類,這將是幾乎相同,只是它會遍歷股票交易。備註:我還使用所有特定的BondTrade,StockTrade等繼承的BaseTrade類。
我該如何將這樣的屬性移動到BaseAsset?我錯過了什麼概念?謝謝你的提示或評論!
想通了,我不需要具體的貿易類,所以只剩下「BaseTrade」,然後我可以按照你的建議去做。謝謝! – peter