【发布时间】:2011-05-26 15:07:34
【问题描述】:
我正在尝试为通用事件创建通用控制器类。但是这些这些事件仍然需要访问它们的类变量。所以我的想法是使用 ModelBaseclass 变量作为 _ClassVar 创建基本控制器类,该变量由所有其他控制器类将继承的类继承。但我希望派生的控制器类用他们需要的任何一个来覆盖 _ClassVar。
我想这样做,因此 ControllerBaseClass 可以拥有所有派生类将使用的所有通用函数。
型号:
Public Class ModelBaseClass
Public Overridable Function Foo() As String
Return "Name"
End Function
End Class
Public Class ModelDerivedClass1
Inherits ModelBaseClass
Public Overrides Function Foo() As String
Return "ModelDerivedClass1"
End Function
End Class
Public Class ModelDerivedClass2
Inherits ModelBaseClass
Public Overrides Function Foo() As String
Return "ModelDerivedClass2"
End Function
End Class
控制器:
Public Class ControllerBase
Public Overridable _ClassVar As ModelBaseClass <----
Public Function PrintFoo() As String
Return _ClassVar.Foo()
End Function
End Class
Public Class ControllerDerivedClass1
Inherits ControllerBase
Public Overrides _ClassVar As ModelDerivedClass1 <----
End Class
Public Class ControllerDerivedClass2
Inherits ControllerBase
Public Overrides _ClassVar As ModelDerivedClass2 <----
End Class
【问题讨论】:
标签: .net vb.net oop polymorphism class-design