我正在为杂货店应用程序编写VB.NET类库我写作但我认为我对OOP如何在VB.NET中工作有误解。我原以为如果class x
位于class y
,class x
的实例也会位于{{1>}的实例中但显然事实并非如此。如何设置它以便能够通过class y
访问class x
的实例?另外,为什么在实例y中没有实例x?
(更新:我的意思是这个)
class y
答案 0 :(得分:1)
这将有效(除了消息框调用),但我不确定这是否是你真正想要的。
Public Class y
Public Class x '//class inside of class
End Class
End Class
Public Class Form1
Public Sub Form1_Load(<params>) Handles Me.Load
Dim yinst As y = New y()
Dim xinst As y.x = New y.x()
'MsgBox(yinst.xinst) '//instance inside of instance
End Sub
End Class
如果你想让y的实例拥有x的实例,那么我想你想要这样的东西:
Public Class y
private x As New x 'A reference to an instance of x
Public Class x 'class inside of class
End Class
End Class
......或更好:
Public Class y
Private _x As New x 'A reference to an instance of x
Public Class x 'class inside of class
End Class
Public Property InstX As x
Get
Return _x
End Get
Set(value As x)
_x = value
End Set
End Property
End Class
在其中任何一种形式中,x都可以Dim xinst As y.x = yinst.InstX
到达。