Seite 1 von 1

Befehl in eine Klasse übergeben

Verfasst: Montag 20. März 2023, 20:18
von Fisch00
Guten Abend,

leider konnte ich mein Problem nicht im Internet finden. Und zwar würde ich gerne einen Befehl einer Klasse mitgeben, so dass dieser in der Klasse ausgeführt wird.

Code: Alles auswählen

class Encoder(command)
   def count():
         command
so in etwa, der Befehl steuert einen Motor an. Da nicht immer der gleiche Motor angesteuert wird, variieren die einzelnen Komponenten des Befehls.

Code: Alles auswählen

motor_kit1.motor1.throttle=1
das ist der Befehl.

Evlt. hat jemand eine Idee wie das funktioniert oder eine ganz andere Idee.
Ich freue mich schon auf eure Antworten!

Re: Befehl in eine Klasse übergeben

Verfasst: Montag 20. März 2023, 20:46
von sparrow
Warum erbt denn deine Klasse von einer Klasse "command"?

Insgesamt sind die Informationen ein bisschen sehr düftig.
Warum ist das überhaupt eine Klasse? Klassen sind dazu da, einen Zustand für ein Objekt vorzuhalten. Wenn der Motor ein Teil dieses Status ist, musst du gar keinen Befehl übergeben sondern nur eine Methode aufrufen, die den Motor berücksichtigt?

Ich würde vorschlagen, du holst etwas weiter auf und erklärst den ganzen Sachverhalt - nicht nur, was du für die Lösung hälst.

Re: Befehl in eine Klasse übergeben

Verfasst: Montag 20. März 2023, 21:03
von grubenfox
Wenn etwas Komponenten hat dann ist es vielleicht eine Klasse?
Command-Pattern?
https://refactoring.guru/design-patterns/command
https://refactoring.guru/design-pattern ... #example-0

https://www.geeksforgeeks.org/command-m ... -patterns/

Falls die "Befehle" hier wirklich relevant sind....

Re: Befehl in eine Klasse übergeben

Verfasst: Montag 20. März 2023, 22:11
von Fisch00
Erstmal danke für die schnellen Antworten. Die Grundidee liegt darin einen Encoder via ein MotorHAT anzusteuern. Nun dachte ich mir, dass ich eine Klasse nutze, um nicht jedes mal, wenn ich ein neues Programm schreibe, die Befehle für den Encoder neu zu schreiben/rein zu kopieren. Aber ich sehe gerade selber das Problem, mit der Trennung von Befehlen und Daten.

Re: Befehl in eine Klasse übergeben

Verfasst: Montag 20. März 2023, 23:11
von sparrow
Es kann - muss aber nicht - richtig sein eine Klasse zu bauen.
Aber wie bereits gesagt: dafür musst du etwas weiter ausholen.
Im Moment hast du 4 Zeilen Code gezeigt, von denen 3 ausgedacht aussehen. So kann man leider nicht helfen.