从另一个对象访问一个对象的属性
我是面向对象编程的新手。 我在类模块中有两个类:
ClassA的
Public Time As Double
ClassB的
Public Sub Progress() ClassAObject.Time = 5 End Sub
这是在子程序中运行的代码
Public Sub Progressing() Dim ClassAObject As New ClassA Dim ClassBObject As New ClassB Call ClassBObject.Progress End Sub
子例程ClassBObject.Progress
似乎无法访问ObjectA
。 我认为我所指的对象可能是错的。 我该如何解决?
B类不知道A类。有很多方法可以做到这一点,但一种方法是使.Progress()
子接受input。
ClassA中的代码:
Public Time As Double
ClassB中的代码:
Public Sub Progress(ClassAObject As ClassA) 'Assuming that you have a .Time property in ClassAObject ClassAObject.Time = 5 End Sub
代码在主要:
Sub Main() Dim ClassAObject As New ClassA Dim ClassBObject As New ClassB ClassBObject.Progress ClassAObject End Sub
您可以将ClassA
的实例传递给Progress
方法。 举个例子:
将Progress
方法更改为:
Public Sub Progress(a As ClassA) a.Time = 5 End Sub
并像这样调用它:
Public Sub Progressing() Dim ClassAObject As New ClassA Dim ClassBObject As New ClassB Call ClassBObject.Progress(ClassAObject) ' <--- pass instance of ClassA End Sub
我build议给你的类和对象更多的描述性的名字,即使你只是在练习。 这将使您和其他人更容易阅读和理解您的代码。 例如, Dim apple As New Fruit
比Dim ClassAObject As New ClassA
更容易理解。