Ich schreibe eine Erklärung für einen Code für einen Kurs und habe die Wörter versehentlich methodund functionaustauschbar verwendet. Ich beschloss, noch einmal hinüberzugehen und den Wortlaut zu korrigieren, stieß aber auf ein Loch in meinem Verständnis.
Soweit ich functionweiß , ist eine Unterroutine eine, wenn sie nicht auf eine Instanz einer Klasse einwirkt (ihre Wirkung ist auf ihre explizite Eingabe / Ausgabe beschränkt), und eine, methodwenn sie auf eine Instanz einer Klasse angewendet wird (sie kann übertragen werden) Nebenwirkungen auf die Instanz, die sie unrein machen).
Hier gibt es eine gute Diskussion zu diesem Thema. Beachten Sie, dass nach den Definitionen der akzeptierten Antwort eine Statik methodtatsächlich eine Funktion sein sollte, da eine Instanz niemals implizit übergeben wird und keinen Zugriff auf die Mitglieder einer Instanz hat.
Sollte Static nicht methodstatsächlich Funktionen sein?
Nach ihrer Definition handeln sie nicht auf bestimmte Instanzen einer Klasse. Sie sind nur aufgrund ihrer Beziehung an die Klasse "gebunden". Ich habe einige gut aussehende Websites gesehen, die statische Unterprogramme als "Methoden" bezeichnen ( Oracle , Fredosaurus , ProgrammingSimplified ). Entweder übersehen sie alle die Terminologie, oder ich vermisse etwas (meine Vermutung ist die letztere). .
Ich möchte sicherstellen, dass ich den richtigen Wortlaut verwende.
Kann jemand das klären?