Ich schreibe eine Erklärung für einen Code für einen Kurs und habe die Wörter versehentlich method
und function
austauschbar verwendet. Ich beschloss, noch einmal hinüberzugehen und den Wortlaut zu korrigieren, stieß aber auf ein Loch in meinem Verständnis.
Soweit ich function
weiß , 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, method
wenn 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 method
tatsächlich eine Funktion sein sollte, da eine Instanz niemals implizit übergeben wird und keinen Zugriff auf die Mitglieder einer Instanz hat.
Sollte Static nicht methods
tatsä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?