Lid |
|
Hallo
Ik heb een vraag over containment. Containment is een relatie tussen twee entiteiten. Ik heb een stukje code, waarvan ik begrijp wat het doet. Maar net het containment gedeelte, dus waar het ene object een relatie heeft met het andere object, zie ik over het hoofd. Kan iemand me helpen aub?
Alvast bedankt
Class Person
Private m_Name As String
Public Function GetName() As String
GetName = m_Name
End Function
Public Sub SetName(ByVal value As String)
m_Name = value
End Sub
Private m_Address As Address
Public Function GetAddress() As Address
GetAddress = m_Address
End Function
Public Sub SetAddress(ByVal value As Address)
m_Address = value
End Sub
End Class
Class Address
Private m_Street As String
Public Function GetStreet() As String
GetStreet = m_Street
End Function
Public Sub SetStreet(ByVal value As String)
m_Street = value
End Sub
Private m_Number As String
Public Function GetNumber() As String
GetNumber = m_Number
End Function
Public Sub SetNumber(ByVal value As String)
m_Number = value
End Sub
Private m_ZipCode As String
Public Function GetZipCode() As String
GetZipCode = m_ZipCode
End Function
Public Sub SetZipCode(ByVal value As String)
m_ZipCode = value
End Sub
Private m_City As String
Public Function GetCity() As String
GetCity = m_City
End Function
Public Sub SetCity(ByVal value As String)
m_City = value
End Sub
End Class
Module Client1
Sub Main()
Dim address1 As Address = New Address
address1.SetStreet("Royal Avenue")
address1.SetNumber("10")
address1.SetZipCode("90210")
address1.SetCity("Beverly Hills")
'
Dim person1 As Person = New Person
person1.SetName("John")
person1.SetAddress(address1)
'
Print(person1)
'
Console.ReadLine()
End Sub
Sub Print(ByVal person As Person)
Console.WriteLine(person.GetName())
If person.GetAddress() IsNot Nothing Then
With person.GetAddress()
Console.WriteLine(.GetNumber() & ", " & .GetStreet())
Console.WriteLine(.GetCity() & " " & .GetZipCode())
End With
End If
End Sub
End Module
Class Person Private m_Name As String Public Function GetName() As String GetName = m_Name End Function Public Sub SetName(ByVal value As String) m_Name = value End Sub Private m_Address As Address Public Function GetAddress() As Address GetAddress = m_Address End Function Public Sub SetAddress(ByVal value As Address) m_Address = value End Sub End Class Class Address Private m_Street As String Public Function GetStreet() As String GetStreet = m_Street End Function Public Sub SetStreet(ByVal value As String) m_Street = value End Sub Private m_Number As String Public Function GetNumber() As String GetNumber = m_Number End Function Public Sub SetNumber(ByVal value As String) m_Number = value End Sub Private m_ZipCode As String Public Function GetZipCode() As String GetZipCode = m_ZipCode End Function Public Sub SetZipCode(ByVal value As String) m_ZipCode = value End Sub Private m_City As String Public Function GetCity() As String GetCity = m_City End Function Public Sub SetCity(ByVal value As String) m_City = value End Sub End Class Module Client1 Sub Main() Dim address1 As Address = New Address address1.SetStreet("Royal Avenue") address1.SetNumber("10") address1.SetZipCode("90210") address1.SetCity("Beverly Hills") ' Dim person1 As Person = New Person person1.SetName("John") person1.SetAddress(address1) ' Print(person1) ' Console.ReadLine() End Sub Sub Print(ByVal person As Person) Console.WriteLine(person.GetName()) If person.GetAddress() IsNot Nothing Then With person.GetAddress() Console.WriteLine(.GetNumber() & ", " & .GetStreet()) Console.WriteLine(.GetCity() & " " & .GetZipCode()) End With End If End Sub End Module
|