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