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