Übung Projekt Lift

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 72 Antworten in diesem Thema. Der letzte Beitrag () ist von Amelie.

    Übung Projekt Lift

    Meine neue Übungsaufgabe zum Thema: Klassen, Vererbung und OOP

    Ein Lastenaufzug: ( ich hatte schon mal einen fertigen allerdings ohne OOP und Klassen )
    3 Etagen mit Lastenauswertung
    Jede Etage bekommt eine Türe ( noch nicht fertig )
    Wenn Alles fertig ist, soll das alles automatisiert ablaufen.

    Ich habe bisher nur mal etwas an Code in VS 2017 geschrieben was aber funktioniert.

    Nun meine Frage bevor ich weiter mache, bzgl der Klassen etc. Wäre das so OK und im Sinne von OOP?
    Projekt bereinigt hängt an.
    Dateien
    • LiftOOP.zip

      (52,8 kB, 57 mal heruntergeladen, zuletzt: )
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Lastenauswertung: Wenn mehr als xx KG geladen sind darf der Lift nicht fahren.
    Autonatisiert: Wenn der Lift von x nach y gefahren ist das sich die Türen allein öffnen und wieder schließen ...
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Amelie schrieb:

    darf der Lift nicht fahren.
    Hat der Lift eine Waage?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ich denke, das Ganze soll nur eine Animation sein, ja? Sprich, eine PictureBox bewegt sich vertikal auf der GUI hin und her. Höhe proportional zur Etage. Ich denke nicht, dass @'Amelie' einen Motor ansteuert.

    Die "Lastenauswertung" – also eine Simulation, dass zu viele Personen eingestiegen sind – würde ich dann mit einer TextBox simulieren, das heißt du schreibst eine Zahl rein und dann

    Pseudocode

    VB.NET-Quellcode

    1. If CInt(TextBoxWeight.Text) > 500 Then
    2. 'fährt nicht
    3. Return
    4. End If


    Und das Ganze möglichst mit Klassen, da sie sich im Bereich Klassen weiterentwickeln will.


    Wenn der Lift von x nach y gefahren ist, dass sich die Türen allein öffnen und wieder schließen ...

    Übersetz diesen Satz in Code:
    Wenn PictureBox an einer bestimmten Höhe angekommen, dann Tür auf. Tür nach Zeitraum x schließen. Weiterfahren.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Bartosz“ ()

    Bartosz schrieb:

    VB.NET-Quellcode

    1. Debug.WriteLine("zu viel")
    Was soll das?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Bartosz schrieb:

    habs geändert.
    Der Vorschlag ist akzeptabel. ;)
    Auf jeden Fall sollte dort noch ein Return drin stehen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „RodFromGermany“ ()

    @Amelie: Nein, dem Code kann ich überhaupt nicht zustimmen.
    Class Haus hat bei Dir eine Property StockwerkStr und StockwerkInt. Dass man die Datentypen nicht in den Variablentypen einbauen sollte, ist eine Sache (obwohl ich das bei Forms und Controls selbst mache). Aber was sollen diese Propertys bedeuten? Die Frage wird bei weiterer Recherche im Code eher schlecht begründet: Class Kabine: Inherits Haus - das bedeutet, dass Kabine eine spezialisierte Art eines Hauses ist. Bitte was? Eine Kabine ist kein Haus. Und keiner kommt mir hier jetzt mit The Cabin in the Woods! Eine Kabine ist ein Raum und kein Haus. Daher ist Class Kabine: Inherits Haus erstmal Unfug, es sei denn, Du lieferst eine sehr gute Begründung.

    Die Kabinenerstellmethode ist m.E. komplett in die falsche Richtung abgebogen. Da eine PicBox einzubauen gehört für mich zumindest nicht in die Klasse. Eine Kabine in der Realität kennt keine PicBox. Vielleicht hat ne Kabine ein Gemälde an der Wand, dafür wär ne PicBox akzeptabel. Aber das ist bei Dir nicht der Fall. Auch der Zugriff auf's Form Frm_Aufzug hat da überhaupt nix verloren. Du willst eine Kabine von ihren Eigenschaften her modellieren. Dass diese Kabine dabei vom Form als PicBox dargestellt wird, muss der Kabine vollkommen egal sein! Wenn diese Kabinenklasse warumauchimmer in einem Konsolenprogramm verschoben wird, muss sie genauso funktionieren wie in einem WinForms- oder WPF-Programm. Das würde aber bei Deiner Kabinenklasse aufgrund von PicBox und Formbezug überhaupt nicht klappen. Eine Modellklasse darf ihre Darstellung auf dem Bildschirm (normalerweise) nicht kennen.

    Die Property MaxGewicht ergibt so auch keinen Sinn. Du schreibst rein: Wenn der Wert > 100 ist, dann gilt die Kabine als überladen. Das ist falsch. MaxGewicht ist das maximal für diesen Lift von Dir festgelegte, zulässige Gewicht. Dein Code sagt: Wenn das maximal zulässige Gewicht > 100 (Einheit?) ist, dann ist das Ding überladen. Warum? Es muss doch gelten: Wenn das aktuelle Gewicht größer als das zulässige Gewicht ist, dann gilt der Lift als überladen.

    Class Etagen - Eine Klasse sollte genau ein Objekt beschreiben, nicht mehrere. Aber Du beschreibst eine Etagenklasse, die mehrere Etagen (auch noch als Integer) und PicBox-Türen hat. Das ergibt für mich auch keinen Sinn. Wofür die Methoden PruefeEtagenaster() und EtagenTuerAufZu() erschließt sich mir aufgrund der Namen auch nicht.

    Das erstmal grob für den Anfang. Mit diesen Klassen wird das meines Erachtens nix.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Eine Kabine in der Realität kennt keine PicBox.
    Naja Irgendwie muss ich ja mit etwas simulieren was die Kabine abbildet. Was soll ich denn da benutzen?

    Form Frm_Aufzug hat da überhaupt nix verloren.
    Packe ich eine Picbox gleich auf die Form und greife dann von der Klasse aus darauf zu ist es auch falsch.. Was man macht es ist irgendwie IMMER flasch.

    PruefeEtagenaster() und EtagenTuerAufZu()
    Was ist daran nicht zu verstehen?

    Das mit den Klassen...
    Dann gibt es hier eben NULL Vererbungen... Aber irgendwie muss ich ja den Zusammenhang zwischen Haus / Stockwerk usw bringen.

    Naja ich lass es wohl sein.


    EDIT:

    Wenn die Klassen doch der Bauplan sind, warum soll ich dann plötzlich nicht mehr in der Klasse das bauen was ich brauche?
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Amelie“ ()

    eine Klasse mit den "GewichtEinheiten" wäre sinnvoll, dann wer/was (Mensche;Hund Katze;Vogel...)
    steigt.

    Ein Mensch wiegt z.b. 80,6Kg
    ein Wellensittich wiegt 22gramm
    ein Wellensittich Käfig wiegt ....

    Klasse Etage
    Klasse Aus/Einsteigen
    ......

    für Gewichte

    VB.NET-Quellcode

    1. Public Class clsWerteGewicht
    2. Private Shared ListOfEinheiten As New SortedList(Of String, Double)
    3. Private value As Double = 0
    4. Public Sub New()
    5. If ListOfEinheiten.Count = 0 Then
    6. With ListOfEinheiten
    7. .Add("Gramm", 0.001)
    8. .Add("Kilogramm", 1)
    9. .Add("Tonne", 1000)
    10. End With
    11. End If
    12. End Sub
    13. 'etc....
    14. End Class


    viel Erfolg mit deinem Projekt
    @Kasi und die anderen....
    Ja danke für das mit den Gewichtsklassen... wäre mir im Moment aber noch eine klasse mehr mit der ich grad nichts anfangen kann.

    Klasse Etage Klasse Aus/Einsteigen??

    Also das Gebäude hat 3 Etagen.
    Jede Etage hat eine Tür und einen Taster womit ich den Lift anfordern kann. Und die Etagentür hat ja nun nichts mit der Kabine zu tun sondern mit der Etage wo die Tür eingebaut ist.
    Für Taster nehme ich einen Button.
    Für die Türe nehme ich was?? In der Toolboox von VB gibt es keine Türe und es gibt keine Kabine also simuliere ich mir eine.

    So hatte ich mir die Etagen erstellt. Die Klasse Etage war ja noch garnicht fertig, was ich ja schrieb. Aber das ist wohl auch nur falsch.

    VB.NET-Quellcode

    1. Friend Etage As Etagen = Etagen.Versand
    2. Friend Enum Etagen
    3. Versand = 453
    4. Lager = 247
    5. Produktion = 67
    6. End Enum



    Jetzt bin ich genau da, wo wir vor ein paar Tagen waren wenn es mit den Klassen einfach zuviel wird. bzw wann ist es sinnvoll Klassen über Klassen zu erstellen was das ganze dann so unübersichtlich macht.
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Amelie schrieb:

    Irgendwie muss ich ja mit etwas simulieren was die Kabine abbildet. Was soll ich denn da benutzen? […] Packe ich eine Picbox gleich auf die Form und greife dann von der Klasse aus darauf zu ist es auch falsch.
    Die anderen dürfen mich gern korrigieren, wenn ich falsch liege. Korrekt ist es, wenn das Form eine PicBox hat und diese PicBox aufgrund der Daten der Kabinenklasseninstanz ändert. Das heißt, das Form holt sich die Daten von der Kabine und ändert daraufhin die PicBox. DIe Form ändert die PicBox, die Kabinenklasse macht selbst nix an der PicBox.

    Amelie schrieb:

    PruefeEtagenaster() und EtagenTuerAufZu()
    Was ist daran nicht zu verstehen?
    Ich kenne das Wort Aster nicht. Was soll das sein? Und dann eben Etagenaster. Sagt mir noch weniger. Was ist das? Und EtagenTuerAufZu enthält kein Verb, um einen Befehl zu beschreiben.

    Amelie schrieb:

    Das mit den Klassen...
    - Diese Wortgruppe taucht in meinem Text nicht auf, von daher weiß ich nicht, worauf Du Dich beziehst.

    Amelie schrieb:

    Dann gibt es hier eben NULL Vererbungen... Aber irgendwie muss ich ja den Zusammenhang zwischen Haus / Stockwerk usw bringen.
    Ein Haus hat Stockwerke, ja, das ist was, was EdR als Beziehung 3. Art bezeichnet hat: Hat-Viele

    VB.NET-Quellcode

    1. Class Haus
    2. Property Etagen As List(Of Etage)
    3. 'oder
    4. 'Property Etagen As Etage() 'Etagen-Array

    Amelie schrieb:

    Naja ich lass es wohl sein.
    Da ich Kritik an Deinem Code offensichtlich nicht so formulieren kann, ohne dass es für Dich destruktiv rüberkommt, bin ich aus diesem Thread wohl besser raus.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    @VaporiZed

    VB.NET-Quellcode

    1. Class Haus
    2. Property Etagen As List(Of Etage)


    Das hatte ich in meinen Überlegungen auf meinem Blatt Papier! Daraus habe ich dann mein ENUM gemacht.
    Weil ENUMs eigene Datentypen erstellen...??? Also meine Etagen oder Stockwerke.
    Und irgendwie muss ich ja dann meine Etagen und EtagenTüren bauen.

    Was ist daran dann falsch?

    Zu dem Etagenaster. Das Forum hier ist manchmal seltsam. Da springt der Curser manchmal irgendwohin und ich übersehe es.
    EtagenTaster


    das Form holt sich die Daten von der Kabine
    Es hieß doch das Form soll NICHT in den Klassen rumgrabschen?
    DIe Form ändert die PicBox, die Kabinenklasse macht selbst nix an der PicBox. ???? ;(

    Also die Klasse ist der Bauplan. Dann baue ich Objekte in der Klasse und lasse dieses Objekt auf dem Form anzeigen.
    Dann weise ich diesen Objekten, in der Klasse Methoden zu.
    In meinem Fall das die Kabine Auf oder Ab fahren soll.
    Das Form bekommt von der Methode aus der Klasse gesagt (in meinem Fall) zeige die PicBox nun an der Position yx...
    Alles falsch??
    Sorry aber da komme ich nicht mehr mit.
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Amelie schrieb:

    Es hieß doch das Form soll NICHT in den Klassen rumgrabschen?
    Richtig, aber ich hab wohl damals nicht klar gemacht, was das bedeutet. Das Form soll keine Daten Deiner Klassen direkt ändern. Also Formcode wie Kabine.AktlGewicht = 120 ist tabu. Aber die Kabine anweisen, dass sie selbst ihre Werte ändert, ist ok: Kabine.SetzeAktuellesGesamtgewichtAuf(120). Das Daten-Holen ist auch ok

    VB.NET-Quellcode

    1. Me.PicBoxKabine.Top = Kabine.AktuellesStockwerk * Haus.StockwerkhöheInMeter


    Amelie schrieb:

    Also die Klasse ist der Bauplan. Dann baue ich Objekte in der Klasse und lasse dieses Objekt auf dem Form anzeigen.
    Dann weise ich diesen Objekten, in der Klasse Methoden zu.
    In meinem Fall das die Kabine Auf oder Ab fahren soll.
    Das Form bekommt von der Methode aus der Klasse gesagt (in meinem Fall) zeige die PicBox nun an der Position yx...
    Alles falsch??

    Nö, meines Erachtens fast richtig. Nur die letzte Aussage muss eben auf das o.g. geändert werden: Das Form bekommt von der Klasse entweder über Events gesagt, wie der Kabinenstatus ist. Oder das Form holt sich die Kabinendaten, z.B. über Kabinen-Functions. Aber die Kabine ändert weder was am Form noch an der Form-PicBox direkt.

    @Amelie:
    Falls der Unterschied nicht klar ist, ein Beispiel aus der Realität (möge es Dir was bringen): Giro-Bankkonto und dessen Eigentümer. Der Eigentümer darf den Kontostand abfragen. Er darf Überweisungen, Einzahlungen und Auszahlungen tätigen. Dazu nutzt er Funktionen des Kontos, indem er mit der Bank kommuniziert oder einen Geldautomaten oder Online-Banking nutzt. Wenn der Eigentümer 20000 € Guthaben hat (Girokonto-Guthaben = 20000) und er 30000 € abheben will, wird das zurecht verweigert. Würde er direkt Einfluss auf die Daten des Kontos haben, würde er ja festlegen können: Girokonto-Guthaben = -10000, mein Bargeld +30000. Er würde in die internen Daten des Kontos reingrapschen und die Daten ändern. Das kann er aber nicht. Und das ist auch gut so. Er kann nur die Girokonto-Methoden nutzen, um das zu bekommen, was er will: ZeigeKontostand, ZahleBetragInEuroEin(500), HebeBetragInEuroAb(10000). Und wenn das Konto bei irgendeinem der Vorgänge die Ausführung verweigert (HebeBetragInEuroAb(30000)), dann kann der Eigentümer nix dagegen tun.
    Aber auch das Konto sollte nix von seinem Eigentümer wissen oder diesen gar manipulieren. Das Konto ändert weder was am Barbestand des Eigentümers, noch sonst irgendwelche Daten. Wenn der Eigentümer eine Auszahlung veranlasst, muss er das Geld aus dem Geldautomat nicht mitnehmen. Er kann es stecken lassen (dann wird es irgendwann wieder eingezogen) oder er erlaubt, dass andere das Geld nehmen. Das ist Entscheidung des Eigentümers, was er mit dem Geld macht, nicht die Entscheidung des Kontos. Das Konto ändert nicht die Daten des Eigentümers.
    Selbst wenn beim Konto die Adressdaten hinterlegt sind, hat das Konto kein Recht diese Daten zu ändern und damit den Eigentümer zu einem Umzug in die nächste Stadt zu zwingen.

    Zu Deinem Projekt zurück: Das Form ist dabei der Eigentümer (in dem Fall Eigentümer der Kabinenklasseninstanz, da das eine hat-eine-Beziehung ist, da in Frm_Aufzug steht: Private WithEvents Kabine As Kabine) und die Kabine ist wie das Konto. Der Eigentümer kann mit der Kabine vieles machen, was die Kabine gewollt zur Verfügung stellt, aber der Eigentümer sollte nicht alles machen können, was der Eigentümer will, sondern nur, was die Kabine erlaubt. Denn was wär, wenn das Form plötzlich festlegt: Kabine.AktlStandort = -666 'Hölle? und Kabine.AktlGewicht = -1000 'Antischwerkraft?
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“ ()

    Nochmal zum Bauplan ( Klasse ) und Vererbung..

    Das Haus ist der Bauplan. Da steht u.a. drin wie viele Etagen das Haus hat. Soweit richtig?

    Der Etagenbauplan, da steht u.a. drin, das die Etage "Lager" und die Etage "Versand" eine Tür für den Aufzug haben. Soweit richtig?

    Aber im Etagenbauplan steht doch nicht drin wo ( also auf welcher Höhe ) sich die Etage befindet. Das steht im Bauplan Haus. Soweit richtig?
    Wenn das so richtig ist, dann "erbt" doch die Klasse Etage diese Angabe aus der Klasse Haus, weil die Etage selber ja gar nicht wissen kann auf welcher Höhe sie gebaut werden soll.
    Also ist dann mein Enum(gedöns) falsch oder....???

    Vielleicht ist das mit dem VisualStudio und dem OOP auch garnicht für soetwas gedacht.
    Wie dem auch sei, gerade dachte ich etwas verstanden zu haben ... ;-(
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Aussage 1 (Haus): richtig
    Aussage 2 (Etage): richtig
    Aussage 3 (Etagenbauplan): richtig; das Haus legt die Reihenfolge der Etagen fest
    Aussage 4 (Etage erbt von Haus): falsch; erben bedeutet immer ist-eine-spezialisierte-Form-von. Da eine Etage aber kein Haus ist, darf die Etagenklasse nicht von der Hausklasse erben/abgeleitet sein. Der Code Class Etage: Inherits Haus funktioniert, ist aber inhaltlich falsch.
    Gegenbeispiele, die inhaltlich richtig sind:
    • Class Bungalow: Inherits Haus
    • Class Krankenhaus: Inherits Haus
    • Class Einfamilienhaus: Inherits Haus
    • Class Wolkenkratzer: Inherits Haus
    Zur Klarstellung: Enums sind nur Zahlen mit Namen. Nix weiter.

    VS und OOP sind für den Lift sehr gute Werkzeuge
    Ich mach mal einen einfachen, inhaltlichen Gegenvorschlag:

    VB.NET-Quellcode

    1. Class Haus
    2. Property Etagen As New List(Of Etage)
    3. End Class
    4. Class Etage
    5. Property Bezeichnung As String
    6. Property Ebene As Ebene
    7. End Class
    8. Enum Ebene
    9. Versand
    10. Lager
    11. Produktion
    12. End Enum
    13. Class Aufzug
    14. Property AktuellesGewichtInKilogramm As Integer
    15. Property MaximalErlaubtesGewichtInKilogramm As Integer
    16. Function IstÜberladen() As Boolean
    17. Return AktuellesGewichtInKilogramm > MaximalErlaubtesGewichtInKilogramm
    18. End Function
    19. Sub FahreZuBestimmterEbene(ZielEbene As Ebene)
    20. If IstÜberladen Then MessageBox.Show("Der Aufzug ist überladen, es geht also nirgendwo hin."): Return
    21. 'hier später mehr
    22. End Sub
    23. End Class
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Soweit kann ich dein Beispiel nachvollziehen bis auf:

    VB.NET-Quellcode

    1. ​Class Haus
    2. Property Etagen As New List(Of Etage)
    3. End Class


    Wofür benötige ich das später noch?
    Wie schon geschrieben bin ich heute mehr verwirrt als alles andere. :(
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Du brauchst diesen Teil, um innerhalb des Hauses festzulegen, wieviele Ebenen Dein Haus tatsächlich hat. Nehmen wir meine Hausspezialisierungen:

    VB.NET-Quellcode

    1. Class Bungalow: Inherits Haus
    2. Sub ErstelleEtagen()
    3. Etagen.Add(New Etage With {.Bezeichnung = "Wohnfläche"})
    4. End Sub
    5. End Class
    6. Class Krankenhaus: Inherits Haus
    7. Sub ErstelleEtagen()
    8. Etagen.Add(New Etage With {.Bezeichnung = "Empfang und Notaufnahme"})
    9. Etagen.Add(New Etage With {.Bezeichnung = "Krankenbettetage"})
    10. Etagen.Add(New Etage With {.Bezeichnung = "OP-Bereich"})
    11. Etagen.Add(New Etage With {.Bezeichnung = "Lager"})
    12. End Sub
    13. End Class
    14. Class Einfamilienhaus: Inherits Haus
    15. Sub ErstelleEtagen()
    16. Etagen.Add(New Etage With {.Bezeichnung = "Keller"})
    17. Etagen.Add(New Etage With {.Bezeichnung = "Erdgeschoss"})
    18. Etagen.Add(New Etage With {.Bezeichnung = "1. Stock"})
    19. Etagen.Add(New Etage With {.Bezeichnung = "Dachboden"})
    20. End Sub
    21. End Class
    22. Class Wolkenkratzer: Inherits Haus
    23. Sub ErstelleEtagen()
    24. Etagen.Add(New Etage With {.Bezeichnung = "Keller"})
    25. Etagen.Add(New Etage With {.Bezeichnung = "Erdgeschoss"})
    26. For i = 0 To 50
    27. Etagen.Add(New Etage With {.Bezeichnung = (i + 1).ToString & ". Stock"})
    28. Next
    29. End Sub
    30. End Class
    31. Class DeinProduktionsbetrieb: Inherits Haus
    32. Sub ErstelleEtagen()
    33. Etagen.Add(New Etage With {.Bezeichnung = "Empfang"})
    34. Etagen.Add(New Etage With {.Bezeichnung = "Versand", .Ebene = Ebene.Versand})
    35. Etagen.Add(New Etage With {.Bezeichnung = "Produktion", .Ebene = Ebene.Produktion})
    36. Etagen.Add(New Etage With {.Bezeichnung = "Lager", .Ebene = Ebene.Lager})
    37. End Sub
    38. End Class


    Die Klasse Haus sollte dann natürlich noch eine Property Aufzug As Aufzug haben, sonst würde es ja gar nicht zu Deinem Projekt passen. Ein Haus ohne Aufzug soll ja gar nicht vorkommen. Aber auch ein Aufzug ohne Zugehörigkeit zu einem Haus kann nicht existieren.
    Keiner kommt mir jetzt mit Aufzugsfabriken!

    Mir käme dann natürlich eine Umbenennung von Class Haus in Class Gebäude in den Sinn, aber das ist nebensächlich …
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()