2011-09-13 6 views
0

나는 한 다음과 같은 구조 :인스턴스 부모 클래스에서 요소

-parent

--CHILD

--CHILD

--CHILD

--CHILD

꽤 똑바로. 이제는 createNewChild (id)와 같은 함수를 갖기 위해 PARENT 클래스가 필요하다. 부모 요소는 각 자녀가 오버라이드 (override) 할 필요가 다음과 같습니다

Public MustOverride Function getId() As Integer 

을 지금을, 내가이 작업을 수행 할 수 있도록 실행시에 부모의 가능한 모든 아이의 목록을 얻을 수 있습니다? 죄송합니다. 혼란 스럽다면,이 설명에 어려움을 겪고 있습니다.

Dim nParent as PARENT = PARENT.createNewChild(5) 

어떤 아이디어 :

는 기본적으로하지만, 나는 다음을 수행 할 수 있도록하려면? VB.net을 사용하고 있습니다. 그래서 .net 답변도 받아 들일 수 있습니다. 감사!

답변

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로 변환하기 위해 온라인 변환기를 사용했습니다.

관련 문제