子类之间的共享变量

时间:2011-01-18 09:30:09

标签: vb.net inheritance variables

我有继承类的问题。看看下面的 VB.NET 2.0 / VS 2005 代码:

MustInherit Class templateclass
    Public Shared x As String
End Class

Class child1
    Inherits templateclass
End Class

Class child2
    Inherits templateclass
End Class

templateclass有一个共享变量x,它当然是由子类继承的。但我想知道所有的儿童班只有一个x! 到目前为止,我认为共享变量只在类的实例之间共享,而不是在所有子项之间共享。这非常烦人,因为我有一个基类,我需要两个略有不同的版本,它们应该不是“共享共享”变量。并且因为这些类有很多共享变量,所以孩子们每个人的阴影都会非常不优雅并导致很多工作。 有没有人能更好地解决这个问题?

提前致谢,

弛度

1 个答案:

答案 0 :(得分:0)

您可以将共享状态包装在专用类中(作为非共享成员),并为每个子类提供该类的共享成员。如果需要通过实例访问共享状态,则可以实现两个子类继承的属性,返回特定子类的共享状态。但请注意,此属性无法自行共享。