Ich habe eine Frage zu Java Main (). java main () gibt nichts zurück. Laut Software-Engineering wird ein Codeblock, der nichts zurückgibt, als Prozedur bezeichnet. Warum rufen wir main () als Methode auf? Sollen wir es stattdessen die Hauptprozedur nennen?
Bitte beachten Sie: Methode gegen Funktion gegen Prozedur
Antwort
Sollten wir die Methode
main()
alsmain()
Prozedur?
Informell sicher. Damit ist kein Problem verbunden.
Pro Software-Engineering wird ein Codeblock, der nichts zurückgibt, als Prozedur bezeichnet.
Obwohl dies in Ordnung ist, ist es nicht 100% Standard in allen Sprachen und im gesamten Software-Engineering. Das Verfahren ist ein ziemlich allgemeiner Begriff und kann in verschiedenen Kontexten in verschiedenen Kontexten verwendet werden Abstraktions- und Allgemeinheitsebenen.
In der Java-Sprachspezifikation wird das Wort „procedure“ beispielsweise 41 Mal angezeigt, von denen keines werden verwendet, um sich auf „Funktionen vs. Methoden vs. Prozeduren“ zu beziehen.
Fast alle Verwendungen des Begriffs „Prozedur“ in der Spezifikation beziehen sich auf einen genau definierten Algorithmus, meistens speziell auf den Algorithmus der Klasseninitialisierung als komplexe, interne und zustandsbehaftete Operation der Sprache & ihrer Laufzeit und nicht als etwas, das Sie aufrufen können.
Im Gegensatz dazu erscheint das Wort „Methode“ 2049 mal, eines davon ist „Methode d eclaration „, daher stellt dieser Begriff ein syntaktisches und semantisches Konstrukt in der Sprache dar, die Programmierer verwenden.
Wir nennen main
eine Methode in Java, weil dies der Fall ist Es ist nach der Terminologie der Sprache — eine „statische Void-Methode“. Die Java-Sprache bietet den Begriff Prozedur nicht als etwas, das aufgerufen werden kann, oder als eine Funktion ohne Rückgabewert.
Sprachen werden normalerweise durch eine ziemlich strenge Spezifikation definiert. Diese Spezifikationen führen eine Terminologie zur Verwendung im Rest der Spezifikation ein, und aus Gründen der Klarheit ist diese Terminologie normalerweise klar definiert. Die Autoren einer Sprache und ihrer Spezifikation haben das Privileg, gemeinsame Begriffe mit sprachspezifischen Bedeutungen neu zu definieren. Sie bemühen sich sehr, diese Begriffe innerhalb ihrer Sprachspezifikation konsistent zu verwenden. Die Terminologie, die sie in die Spezifikation einführen, wird tendenziell von Programmierern im Kontext dieser Programmiersprache verwendet.
Dieselben genauen Begriffe können sich in der Bedeutung zwischen zwei Sprachen unterscheiden. Sie können sich auch von der üblichen informellen Verwendung in der gesamten Programmierung unterscheiden, bei der Begriffe nicht so streng definiert sind wie in einer Sprachspezifikation.
Kommentare
- Erik Danke für die ausführliche Erklärung. Dies ist gemäß Java-Spezifikation sinnvoll.