嵌套类和集合vba

时间:2018-03-20 16:23:09

标签: vba class collections nested

我正在尝试创建一个公司员工的集合。每位员工都有一个姓名,年龄,经理和向他/她汇报的团队。由于经理本身就是员工,我想使用与对象相同的类。对于团队,我使用相同类对象的数组。如果员工没有团队,那么该员工应该为空。此外,对于没有经理的顶级经理,经理也应该为空。

这就是我定义CEmployee类的方法:

Private pName As String
Private pManager As CEmployee
Private pTeam() As CEmployee
Private pAge As Integer

Public Property Get Name() As String
    Name = pName
End Property

Public Property Let Name(Value As String)
    pName = Value
End Property

Public Property Get Manager() As CEmployee
    Manager = pManager
End Property

Public Property Let Manager(Value As CEmployee)
    pManager = Value
End Property

Public Property Get Team() As CEmployee
    Team = pTeam
End Property

Public Property Let Team(Value As CEmployee)
    pTeam = Value
End Property

Public Property Get Age() As Integer
    Age = pAge
End Property

Public Property Let Age(Value As Integer)
    pAge = Value
End Property

然后将员工添加到集合中:

Dim Employees As Collection

Dim v_Emp As CEmployee

Set Employees = New Collection

Set v_Emp = New CEmployee
Set v_Man = New CEmployee
Set v_Team = New CEmployee

v_Man.Name = "John Doe Top Manager"
v_Man.Age = 42
v_Man.Team = Null
v_Man.Manager = Null

首先,将Team和Manager设置为Null崩溃,所以我知道这不起作用。但我真正想知道的是,这是一个好方法吗?我对课程和收藏很陌生,并希望得到任何指导和指导。

谢谢!

/奥洛夫

0 个答案:

没有答案