Hallo liebes Forum,
nun ist es soweit. Ich habe mich rangesetzt und mir ein richtiges Beispiel (geeignetes Problem) ausgedacht, das ich verfolgen will, um ein wenig mehr mit Klassen zu machen.
Im alten Thread hatte ich keine guten Beispiele und ich kannte mich nicht so gut aus. Hier darf jeder gerne seine Ideen einbringen.
Ich habe mich an @VaporiZeds Beispiel
1.) Ich möchte als Erstes ein Hausschwein erstellen. Wie übergebe ich am geschicktesten die Parameter?
2.) Braucht es i.A. eine
Ich stelle schon mal den ersten Code rein. Ist noch nackig.
Viele Grüße
Bartosz
nun ist es soweit. Ich habe mich rangesetzt und mir ein richtiges Beispiel (geeignetes Problem) ausgedacht, das ich verfolgen will, um ein wenig mehr mit Klassen zu machen.
Im alten Thread hatte ich keine guten Beispiele und ich kannte mich nicht so gut aus. Hier darf jeder gerne seine Ideen einbringen.
Ich habe mich an @VaporiZeds Beispiel
Lebewesen
gehalten und habe das Ganze anhand der biologischen Systematik strukturiert. "Lebewesen" ist im Programmtechnischen zu allgemein und damit MustInherit
. Ebenso Säugetiere
(diese haben aber schon bestimmte Eigenschaften), dann kommen die Paarhufer
mit deren Eigenschaften, dann die Echten Schweine
und zu guter letzt das Hausschwein
. (Die Struktur ist etwas abgekürzt, aber das Prinzip ist klar )1.) Ich möchte als Erstes ein Hausschwein erstellen. Wie übergebe ich am geschicktesten die Parameter?
2.) Braucht es i.A. eine
Public Shared Function CreateInstance
?Ich stelle schon mal den ersten Code rein. Ist noch nackig.
Viele Grüße
Bartosz
VB.NET-Quellcode
- 'Option Strict On wurde in den Projekteigenschaften gesetzt.
- 'Assembly-Sprache ist Deutsch (Deutschland).
- Public Class Form1
- Private HS As New Hausschwein
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Debug.WriteLine("")
- End Sub
- End Class
- Public MustInherit Class Lebewesen
- Protected Alter As Integer
- Protected IQ As Integer
- Protected Sub New()
- End Sub
- Public MustOverride Sub Adaptivitaet() 'um auch ein Public MustOverride Sub drinzuhaben :-)
- End Class
- Public MustInherit Class Saeugetiere : Inherits Lebewesen
- Private kann_fliegen As Boolean
- Private hat_Fell As Boolean
- Private wie_viele_Zaehne As Integer
- Private Koerpertemperatur As Integer
- Public Sub New()
- MyBase.New()
- End Sub
- End Class
- Public MustInherit Class Paarhufer : Inherits Saeugetiere
- Public Structure Waffenarten
- Public Property hat_Hoerner As Boolean
- Public Property hat_Stosszaehne As Boolean
- Public Property hat_Klauen As Boolean
- Public Sub New(hatHoerner As Boolean, hatStosszaehne As Boolean, hatKlauen As Boolean)
- Me.hat_Hoerner = hatHoerner
- Me.hat_Stosszaehne = hatStosszaehne
- Me.hat_Klauen = hatKlauen
- End Sub
- End Structure
- Private ist_nachtaktiv As Boolean
- Public Sub New()
- MyBase.New()
- End Sub
- End Class
- Public MustInherit Class Echte_Schweine : Inherits Paarhufer
- Public Sub New()
- MyBase.New()
- End Sub
- End Class
- Public Class Hausschwein : Inherits Echte_Schweine
- Private dieses_wird_im_Stall_gehalten As Boolean
- Public Sub New()
- MyBase.New()
- End Sub
- Public Overrides Sub Adaptivitaet()
- 'Throw New NotImplementedException()
- End Sub
- End Class
An die Neulinge: Nutzt
Option Strict On
und Option Infer Off
. Dadurch kommt ihr mit Datentypumwandlungen nicht durcheinander und der Code verbessert sich um Einiges! Solche Fehler à la Dim Beispiel As Integer = "123" können nicht mehr passieren.