Lösung zur Übungsaufgabe „Get the BASICs, Visual Basic für Einsteiger und Umsteiger“, Teil 5

Aufgabe

Schreiben Sie eine Klasse, die alle Daten einer Person verwaltet

  • Name, Vorname, PLZ, Ort, Straße, Telefon
  • Überschreiben Sie die Methode ToString für die Ausgabe der Daten
  • Implementieren Sie Eigenschaften zum Setzen der Daten
    • Schreiben Sie eine einfache Prüfroutine für die PLZ (PLZ > 0 und PLZ < 99999).

Lösung

Option Strict On

Option Explicit On

Module Module1

Sub Main()

Dim myPerson As New Person

myPerson.Name = "Walzenbach"

myPerson.Vorname = "Daniel"

myPerson.Strasse = "Konrad-Zuse-Straße 1"

myPerson.PLZ = 85716

myPerson.Ort = "Unterschleissheim"

myPerson.Telefon = "+49 (0) 89 - 3176 - 0"

Console.WriteLine(myPerson)

End Sub

End Module

Public Class Person

#Region "Private Variablen"

Private _Name As String

Private _Vorname As String

Private _Strasse As String

Private _PLZ As Integer

Private _Ort As String

Private _Telefon As String

#End Region

#Region "Properties"

Public Property Name() As String

Get

Return _Name

End Get

Set(ByVal value As String)

_Name = value

End Set

End Property

Public Property Vorname() As String

Get

Return _Vorname

End Get

Set(ByVal value As String)

_Vorname = value

End Set

End Property

Public Property Strasse() As String

Get

Return _Strasse

End Get

Set(ByVal value As String)

_Strasse = value

End Set

End Property

Public Property PLZ() As Integer

Get

Return _PLZ

End Get

Set(ByVal value As Integer)

' Überprüfen, ob die PLZ kleiner 0 gesetzt werden soll

If value < 0 Then

Console.WriteLine("Die Postleitzahl darf nicht kleiner als 0 sein.")

Return

End If

' Überprüfen, ob die PLZ größer 99999 gesetzt werden soll

If value > 99999 Then

Console.WriteLine("Die Postleitzahl darf nicht größer als 99999 sein.")

Return

End If

' alles ok --> PLZ setzen

_PLZ = value

End Set

End Property

Public Property Ort() As String

Get

Return _Ort

End Get

Set(ByVal value As String)

_Ort = value

End Set

End Property

Public Property Telefon() As String

Get

Return _Telefon

End Get

Set(ByVal value As String)

_Telefon = value

End Set

End Property

#End Region

#Region "Methoden"

Public Overrides Function ToString() As String

Return String.Format("Name: {0} {1}{2}Adresse: {3}, {4} {5}{2}Telefon: {6}", _

_Vorname, _Name, System.Environment.NewLine, _

_Strasse, _PLZ, _Ort, _

_Telefon)

End Function

#End Region

End Class