Module Module1 Public Class Fahrzeug Private v, vmax, leermasse, nutzmasse As Integer Private Bezeichnung As String REM Konstruktoren werden in VB immer mit New benannt Public Sub New(ByVal bez As String, ByVal vm As Integer, ByVal lm As Integer) Bezeichnung = bez vmax = vm leermasse = lm End Sub Public Function ausgabe() As String ausgabe = Bezeichnung + " mit Geschwindigkeit: " + Format(v) End Function Public Sub beschleunigen(ByVal wert As Integer) v = v + wert If v > vmax Then v = vmax End Sub Public Sub bremsen(ByVal wert As Integer) v = v - wert If v < 0 Then v = 0 End Sub End Class Public Class PKW Inherits Fahrzeug Private insassen, max_insassen As Integer Public Sub New(ByVal bez As String, ByVal vm As Integer, ByVal lm As Integer, ByVal max_ins As Integer) MyBase.New(bez, vm, lm) max_insassen = max_ins insassen = 0 End Sub Sub einsteigen(ByVal anz As Integer) insassen = insassen + anz End Sub Public Overloads Function ausgabe() As String ausgabe = MyBase.ausgabe() + "mit" + Format(insassen) + " Insassen" End Function End Class Sub Main() Dim stadtrad, rennrad As Fahrzeug stadtrad = New Fahrzeug("Stadtrad", 30, 15) REM hier mal ein träges Fahrrad, mit vmax=30 Km/h und 15 Kg rennrad = New Fahrzeug("Rennrad", 55, 8) REM ein leichteres und schnelleres Rad Dim Meinpkw As PKW Meinpkw = New PKW("MeinAuto", 120, 900, 4) Meinpkw.einsteigen(2) Meinpkw.beschleunigen(60) Dim kleinwagen As New Fahrzeug("Miniauto", 120, 650) REM Deklaration und Instanziierung in einem Schritt Console.WriteLine("Stadtrad, Rennrad und Kleinwagen erzeugt!") stadtrad.beschleunigen(10) rennrad.beschleunigen(25) Console.WriteLine(stadtrad.ausgabe()) Console.WriteLine(rennrad.ausgabe()) stadtrad.bremsen(10) stadtrad.beschleunigen(5) Console.WriteLine(stadtrad.ausgabe()) kleinwagen.beschleunigen(50) Console.WriteLine(kleinwagen.ausgabe()) rennrad.beschleunigen(20) kleinwagen.bremsen(25) Console.WriteLine(rennrad.ausgabe()) Console.WriteLine(kleinwagen.ausgabe()) Console.WriteLine(Meinpkw.ausgabe()) stadtrad = Nothing rennrad = Nothing kleinwagen = Nothing End Sub End Module