【发布时间】:2016-05-13 04:53:46
【问题描述】:
如何覆盖继承类的属性但使用不同的返回类型?
我正在使用这样设置的课程:
Public MustInherit Class foo
Public MustOverride Property Value As Object
End Class
我想继承这个类,但是让 Value 属性返回不同的类型:
Public Class foo_string
Inherits foo
Public Overrides Property Value As String
End Class
Public Class foo_date
Inherits foo
Public Overrides Property Value As Date
End Class
这给了我一个错误:“'Public Overrides Property Value As String' 不能覆盖 'Public MustOverride Property Value As Object',因为它们的返回类型不同。”
我可以从基类中删除该属性并仅在子类中指定它,但我想知道是否有其他方法可以使其工作。
我正在学习类层次结构,但还没有掌握它,所以如果你认为我正在尝试做的事情没有意义或者我遗漏了一些明显的东西,我会接受。
【问题讨论】:
-
具体取决于您想要什么,您可以通过将
foo设置为Generic Class 来实现它。
标签: vb.net class inheritance types overriding