從具體子類中抽象類中提供值的「正確」方式是什麼?從子類中提供抽象類成員變量
即,我應該這樣做:
abstract class A {
private string m_Value;
protected A(string value) {
m_Value = value;
}
public string Value {
get { return m_Value; }
}
}
class B : A {
B() : this("string value") {}
}
或本:
abstract class A {
protected A() { }
public abstract string Value { get; }
}
class B : A {
B() {}
public override string Value {
get { return "string value"; }
}
}
或其他什麼東西?
如果僅在抽象類中使用Value
屬性,應該做不同的事情嗎?
您可以通過聲明虛擬屬性來實現第一種方法。 – 2009-11-04 16:49:30