当前位置:  开发笔记 > 编程语言 > 正文

来自超类的强制变量(在编译时)

如何解决《来自超类的强制变量(在编译时)》经验,为你挑选了1个好方法。

我有一个超类,它有一堆变量.例如

string s1= ""; string s2= ""; string s3= ""; 

...等等

我想保证在编译时从继承自这个超类的子类中覆盖这些变量(赋予一些有用的东西).

这有一种优雅的方式吗?



1> Jon Skeet..:

使基类中的所有构造函数将它们作为参数,并从这些构造函数中设置它们:

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)
{
}

希望他们无论如何都是私人领域,所以衍生类无论如何都无法直接设置它们,对吧?:)

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有