从另一个对象访问一个对象的属性

我是面向对象编程的新手。 我在类模块中有两个类:

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 FruitDim ClassAObject As New ClassA更容易理解。