实例父类的元素

时间:2011-09-13 23:11:04

标签: vb.net inheritance parent children

我有以下结构:

-parent

- CHILD

- CHILD

- CHILD

- CHILD

非常直接。现在,我需要PARENT类具有createNewChild(id)等函数。 PARENT元素具有以下每个CHILD必须覆盖的内容:

Public MustOverride Function getId() As Integer

现在,是否可以在运行时获取父级所有可用子级的列表,以便我可以执行此操作?对不起,如果这听起来令人困惑,我很难解释这一点。

但基本上,我希望能够做到以下几点:

Dim nParent as PARENT = PARENT.createNewChild(5)

有什么想法吗?我正在使用VB.net,因此任何.net答案都是可以接受的。谢谢!

1 个答案:

答案 0 :(得分:1)

嗯,我唯一想到的就是跟踪你父类的孩子是在创建时创建一个子列表。

Class Parent
    Private Shared childList As New List(Of Child)()

    Public Sub CreateNewChild(id As Integer)
        Dim newChild As New Child(id)
        childList.Add(newChild)
        Return newChild
     End Sub

   Public Overridable Function GetID() As Integer
       Return 0
   End Function

   Public Shared Function GetAllChildren() As List(Of Child)
       Return childList
   End Function
End Class

Class Child Inherits Parent
    Private m_ID As Integer
    Public Property ID() As Integer
    Get
        Return m_ID
    End Get
    Set
        m_ID = Value
     End Set
End Property

Private Sub New(id As Integer)
    Me.ID = id
End Sub
End Class

对代码感到抱歉,我最初是用C#编写的,并使用在线转换器转换为VB。