我有一个超类,它有一堆变量.例如
string s1= ""; string s2= ""; string s3= "";
...等等
我想保证在编译时从继承自这个超类的子类中覆盖这些变量(赋予一些有用的东西).
这有一种优雅的方式吗?
使基类中的所有构造函数将它们作为参数,并从这些构造函数中设置它们:
protected BaseClass(string s1, string s2, string s3) { this.s1 = s1; this.s2 = s2; this.s3 = s3; }
...
// Just for example public DerivedClass(string x) : base("foo", "bar", x) { }
希望他们无论如何都是私人领域,所以衍生类无论如何都无法直接设置它们,对吧?:)