Untermenüs könnte man noch definieren. Keine Ahnung jetzt wie das umsetzbar ist.BlackJack hat geschrieben:Was für Menütypen denn? Wenn schon das Klappmenü ein künstliches Beispiel ist was man nicht verwenden würde.
Und ein Klappmenü ist ein Menü das man auf Grund einer Menge von Einträgen ein- und ausklappen kann. Keine Ahnung warum ich das jetzt erklären muss. Aber ein Klappmenü ist eben was anderes wie ein einfaches Menü. Ein einfaches Menü ist ein kleines Menü, das keine Methoden zum ein- und ausklappen braucht.
Man muss sich halt bei den Vorgaben beschränken.Ich denke man sollte schon ein komplettes Beispiel als Ziel haben, das alle Aspekte von Vererbung beisammen hat und vererbte Attribute und Methoden die in Unterklassen verwendet werden und auch Polymorphie beinhaltet. Eben um zeigen zu können was Klassen ausmacht und wo die Vorteile liegen.
Du hast natürlich mit allem Recht, wenn es darum geht als tatsächlicher Programmier zu agieren. Ich kann in meinem Hauptfach aber auch nicht so rangehen, auch wenn es rein theoretisch richtig ist.Was ist der Nutzen von so einem Klappmenü? Was ist der Nutzen von Klassen? Gibt es überhaupt nicht-künstliche Beispiele die nicht trivial sind, wo man sich nicht fragt, warum nehme ich da nicht einfach eine Funktion? Klassen sind im Grunde erst ab einer gewissen Komplexität des Programms wirklich nützlich. Erfahrenere Programmierer benutzen sie auch an Stellen, wo sie nicht zwingend notwendig sind, aber das eben aus der Erfahrung heraus, dass Programme dazu tendieren mit der Zeit komplexer zu werden. Wobei Python noch das zusätzliche "Problem" hat, dass alles Objekt ist, inklusive Funktionen. Wo andere Sprachen für das Observer-Entwurfsmuster schon Interfaces und Klassen brauchen, kann man in Python einfach eine Callback-Funktion übergeben.
Ich muss immer berücksichtigen was die Lehrziele sind. Das kann sein, dass die lernende Person ausübender GitarristIn werden soll, es können aber auch sein, dass der Person mit der Ausübung des Instruments lediglich sozio-musikalische Kompetenzen vermittelt werden sollen.
Die Unterschiede im Unterricht sind dann gewaltig.
Das lass ich dich gern so machen. Du würdest das auch sicherlich gut machen. Ich sehe keine Möglichkeit das in meiner Umgebung umzusetzen.Und wieso kann man mit Fahrzeugklassen nicht den Mehrwert von OOP darstellen? `opel.beschleunigen()` wird wahrscheinlich auf geerbte Attribute aus einer `Fahrzeug`-Klasse zurückgreifen. Um einen neuen Autotyp zu implementieren kann man also auf vorhandene Funktionalität zurückgreifen, aber wenn man will, diese auch komplett ersetzen/überschreiben.
Wenn man eine Liste mit verschiedenen konkreten Fahrzeugttypen hat, kann man prima Polymorphie zeigen. Es wird immer "automagisch" die richtige Methode ausgeführt, weil ein Objekt "weiss" was es ist.
Was "richtiges" kann man daraus auch machen indem der Lehrer ein Framework vorgibt, wo die Schüler ihre eigenen Fahrzeuge programmieren können und dann irgendetwas damit machen müssen. Ein Rennen, oder vielleicht irgendwelche Nutzfahrzeuge die zusammen eine Aufgabe erfüllen müssen.
Liebe Grüße
rolgal_reloaded