假设我定义了以下父类:
Public Class Parent
Public Property Prop1 As String = "MyDB1"
End Class
我希望继承它,但希望该属性为子类具有不同的值。
我想我可以这样做:
Public Class Child
Inherits Parent
Public Sub New()
MyBase.New()
MyBase.Prop1 = "MyDB2"
End Sub
End Class
但是我想知道这是否是最好的方法,或者是否有类似Overridable属性的东西,或者如果这只是一个糟糕的编程习惯呢?
谢谢!
答案 0 :(得分:2)
在c#中,为了让属性可以覆盖,你可以将类成员标记为virtual
,并将此关键字的vb.net equvale标记为Overridable
。
public virtual int MyProperty {get;set;}
这个属性可以在子类中重写,如下所示:
public override int MyProperty {
get{
//return some other thing
}
}
相当于Vb.NET:
在超级课程中:
Public Overridable Property MyProperty As Integer
Get
End Get
Set
End Set
End Property
并在子类中:
Public Overrides Property MyProperty As Integer
Get
//return some other thing
End Get
End Property
答案 1 :(得分:2)
根据您的评论,我的意见如下:
Overridable
new public int MyProperty { ... }
,但我不确定这是如何在VB中完成的