[PYTHON] Artikel für Gitarristen und Bassisten, um die Objektorientierung vollständig zu verstehen

Artikel für Gitarristen und Bassisten, um die Objektorientierung vollständig zu verstehen

Einführung

Schön dich kennenzulernen, mein Name ist Sotoku. Dies ist Qiitas erster Beitrag. Normalerweise lebe ich auf Twitter und schreibe Python etc. schön. Übrigens ist dieser Artikel ein objektorientierter Kommentarartikel für Gitarristen und Bassisten </ b>, wie der Titel schon sagt. Wenn Sie nur eine Erfahrung haben, fragen Sie sich vielleicht "Was?". Tatsächlich gibt es jedoch eine sehr leicht verständliche Gemeinsamkeit zwischen dem Spielen von Gitarre und Bass und der Objektorientierung. Deshalb werde ich dies dieses Mal erklären. Ich wünschte ich könnte gehen. Außerdem kann ich in diesem Artikel *** Objektorientierung ***, Titelbetrug nicht vollständig verstehen und bedauere es aufrichtig. Der Zweck ist es, Anfängern auf leicht verständliche Weise zu erklären, und da ich nicht in der Lage bin, mich selbst vollständig zu verstehen, kann der Artikel voller Fehler sein, aber in diesem Fall würde ich es begrüßen, wenn Sie vorsichtig darauf hinweisen könnten. ist.

Wer ist das Ziel dieses Artikels?

  • Gitarrist
  • Bassist
  • Menschen, die die Objektorientierung überhaupt nicht verstehen

Personen, die nicht in diesem Artikel behandelt werden

  • Leute, die das Instrument überhaupt nicht verstehen
  • Jemand, der ein umfassendes Verständnis der Objektorientierung hat

Was ist objektorientiert?

Laut Wikipedia

Objektorientierung ist eines der Software-Engineering-Konzepte und ein Konzept oder Konzept, das im Software-Design und in der Programmbeschreibung verwendet wird.

... anscheinend ... Wie Sie hier sehen können, ist die Objektorientierung grob gesagt eine Denkweise in der Programmierung. Wie wir später sehen werden, ist diese Idee oft sehr nützlich beim Entwerfen und bei der Teamentwicklung. Auch eine so genannte objektorientierte Sprache, insbesondere Java, ist eine sehr objektorientierte Sprache, die häufig nicht ohne Verständnis implementiert werden kann. (Es wird oft vergessen, dass Python auch eine objektorientierte Sprache ist. Ich schreibe hauptsächlich Python, daher verwende ich Python, wenn ich es in diesem Artikel im Code erkläre.) Insbesondere besteht die Idee darin, dass die tatsächliche Situation, die einen bestimmten Zweck erreicht </ b>, grob in mehrere Objekte unterteilt wird, um den Zweck </ b> zu erreichen, und implementiert wird. ich verstehe Wenn Sie beispielsweise eine Taschenrechner-App implementieren, wird diese einzeln in ein Objekt zerlegt, das Eingaben empfängt, ein Objekt, das Berechnungsergebnisse aus Eingaben ausgibt (dies wird auch je nach gewünschtem Berechnungsinhalt weiter unterteilt), und ein Objekt, das Ausgaben zurückgibt. Das Bild soll es implementieren und am Ende zusammenfügen.

Gemeinsame Punkte mit Musikinstrumenten

Nachdem Sie so weit gelesen haben, könnten Sie denken, dass die Gitarristen und Bassisten dem </ b> irgendwie ähnlich sind. Ja, das </ b> das </ b>. *** Effektor ***. Als Effektor, Verstärker, Gitarre oder Gitarrist können Sie sich als unabhängiges Objekt </ b> vorstellen, z. B. Klangverarbeitung, Eingabe und Ausgabe. Lassen Sie uns nun Ihre Effektorplatine objektorientiert schreiben, um das Verständnis zu erleichtern. (Der folgende Code funktioniert nicht wirklich. Er ist eine Demo, um das Verständnis zu erleichtern.)

Angenommen, Ihre Gitarre ist Mustang und der Effektor ist Bruce Driver und Metal Zone. Der Verstärker ist Jazzco. Angenommen, Sie möchten diese Objekte verwenden, um endlich eine Funktion zu implementieren, die "eine schöne Ausgabe für den Eingangssound zurückgibt". Schreiben Sie in der Objektorientierung so.

Sound.py


#Gitarrenunterricht
class Musutang:
    @staticmethod
    def pickup('''Etwas zog Geräusche'''):
        #Verarbeitung zur Verstärkung und Ausgabe von Ton
        return cleansound #Sauberer Ton

#Effektor-Grundklasse
class Effector:
    #Schreiben Sie die Grundstruktur des Effektors
    @staticmethod
    def Efect('''Eingehender Ton'''):
        #Grundlegende Verarbeitung von Effektoren

#Eine Klasse, die die Effektorklasse übernimmt
class BluesDriver(Effector):
    #Überschreiben
    @staticmethod
    def Effect('''Eingehender Ton'''):
        #Verarbeitung, um den Sound kühl zu machen
        return bluessound

class MetalZone(Effector):
    #Überschreiben
    @staticmethod
    def Effect('''Eingehender Ton'''):
        #Verarbeitung zur Transformation des Klangs
        return metalsound

#Amp Klasse
class amp:
    @staticmethod
    def JazzChorus('''Eingehender Ton'''):
        #Verarbeitung zur Verstärkung und Ausgabe von Ton
        return mixedsound #Endlich kommt der Ton aus dem Verstärker


#Eine Methode, die tatsächlich eine Kombination von Klassen verschiebt
def main():
    sound = input()
    clean = Musutang.pickup(sound)
    blues = BlusesDriver.Effect(clean)
    metal = MetalZone.Effect(blues)
    mixed = amp.JazzChorus(metal)

    return mixed

#Magie
if __name__ == '__main__':
    main()

Es ist ein guter Code ohne Codierungsstandards oder Mist, aber ich denke, Sie können ein Gefühl dafür bekommen. Wenn Sie es tatsächlich implementieren, schreiben Sie eine andere Funktion in eine andere Datei und rufen Sie sie mit import usw. auf.

Was mich glücklich macht

Mit objektorientiert können Sie Experten beispielsweise bei der Implementierung nach Funktionen zuweisen. Bei der Gitarre kennt man oft nicht die interne Struktur des Effektors oder Verstärkers. Aber Sie haben die Möglichkeit, Gitarre zu spielen (Anweisungen geben). Andererseits muss der Schöpfer des Effektors nicht unbedingt ein Gitarrist sein, sondern ein Schaltungsprofi. Auf diese Weise wird eine Effektorplatine oder ein Effektor-System fertiggestellt, das / das letztendlich einen guten Klang erzeugen kann, wenn jeder nur Funktionen erstellt, die er </ b> erstellen kann, ohne die Fachgebiete des anderen zu kennen. Es wird davon ausgegangen, dass der Vorteil der Objektorientierung darin besteht. Es gibt viele andere Vorteile, wie eine bessere Sichtbarkeit des gesamten Codes und einfachere Ergänzungen und Verbesserungen. Warum nutzen Sie als Gitarrist diese Gelegenheit nicht, um mit der objektorientierten Programmierung zu beginnen?