我有一個抽象類,它包含依賴於類級變量的方法。但是,這些變量的值是在從摘要繼承的類中設置的。最佳做法 - 在派生類中設置繼承變量
我已經寫了這個,以便在構造函數中設置變量 - 它似乎是迄今爲止最好的事情。但我只是對此感到不安 - 它們看起來應該是抽象的屬性。我不能把我的手指放在我爲什麼那樣的感覺上。
這裏是什麼,我究竟做了一個簡單的例子:
public abstract class TestBase
{
protected string itemType;
}
public class TestClass1 : TestBase
{
public TestClass1()
{
itemType = ConfigurationManager.AppSettings["TestClass1.ItemType"];
}
}
public class TestClass2 : TestBase
{
public TestClass2()
{
itemType = ConfigurationManager.AppSettings["TestClass2.ItemType"];
}
}
所以,問題是:
1)這是不好的做法?
2)如果是這樣,爲什麼,還有什麼更好?
3)這是一個測試類,用於迴歸測試而不是在任何地方部署。是否有一個很好的理由像在示例中那樣在config中設置類級變量,還是可以對它們進行硬編碼?我總是傾向於默認配置。
乾杯, 馬特
我覺得你的實施非常舒服。 – David