Was ist der "richtige" Weg, um einen Wert in einer abstrakten Klasse aus einer konkreten Unterklasse bereitzustellen?
d. h., sollte ich dies tun:
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") {}
}
oder dies:
abstract class A {
protected A() { }
public abstract string Value { get; }
}
class B : A {
B() {}
public override string Value {
get { return "string value"; }
}
}
oder etwas anderes?
Und sollten andere Dinge getan werden, wenn die Value
Eigenschaft nur in der abstrakten Klasse verwendet wird?