我有 3 个不同的课程——铅笔、钢笔和书。
有一个通用对象,称为 obj,可以存储这 3 个类中的任何一个。
如何初始化通用对象?
例如,通常是:
Dim purplePencil as Pencil
purplePencil = New Pencil
现在,我正在这样做:
Dim obj as Object
Dim purplePencil as Pencil
obj = purplePencil
obj = New Pencil
但是,我不知道 obj 是 Pencil、Pen 还是 Book。
那么,有没有办法在不知道确切的类类型的情况下初始化 obj ?
没有更具体的答案是困难的。您可能正在寻找继承。一个非常简单的例子。
首先是班级
Public MustInherit Class BaseClass
End Class
Public Class pencil
Inherits BaseClass
End Class
Public Class pen
Inherits BaseClass
End Class
Public Class book
Inherits BaseClass
End Class
Public Class obj
Private someClass As BaseClass
Public Sub New(whBase As BaseClass)
Me.someClass = whBase
End Sub
Public Function WhBase() As String
Return Me.someClass.GetType.Name
End Function
End Class
然后在使用
Dim ob As New obj(New pen)
Debug.WriteLine(ob.WhBase)
ob = New obj(New book)
Debug.WriteLine(ob.WhBase)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句