Betriebstechnik | Biographien | Biologie | Chemie | Deutsch | Digitaltechnik |
Electronica | Epochen | Fertigungstechnik | Gemeinschaftskunde | Geographie | Geschichte |
Informatik | Kultur | Kunst | Literatur | Management | Mathematik |
Medizin | Nachrichtentechnik | Philosophie | Physik | Politik | Projekt |
Psychologie | Recht | Sonstige | Sport | Technik | Wirtschaftskunde |
Ähnliche Berichte:
|
Projekte:
|
Papers in anderen sprachen:
|
informatik referate |
Arten der Parameterübergabe
in den verschiedenen Programmiersprachen
1. Einleitung
Durch die immer stärker werdende Modularisierung
von Programmen durch Prozeduren, Funktionen
oder auch Objekte stellt sich das Problem des Informationsaustausches unter den
einzelnen Modulen.
Die Module sollen von außen Informationen bekommen und auch Informationen
zurückgeben können,
ohne dabei ihre Modularität zu verlieren. Dies wird in den meisten Fällen
mittels Parametern realisiert.
Parameter sind definierte Schnittstellen von Funktionen, die in drei Gruppen
aufgeteilt werden können.
1.1 Werte-Parameter (Eingabeparameter, call by value):
Werte-Parameter dienen dazu, an eine Prozedur oder Funktion
Informationen zu übergeben. Eine
Anderung des Parameters in der Prozedur hat keine Wirkung nach außen.
Eigenschaften:
1.2 Referenz-Parameter (Ein-/Ausgabeparameter, call by reference):
Referenz-Parameter haben
den Zweck, Ergebnisse aus einer Prozedur oder Funktion dem aufrufend-
en Modul zur Verfügung zu stellen (Output-Parameter). In den meisten
Programmiersprachen können
die Referenz-Parameter auch als Werte-Parameter verwendet werden.
Eigenschaften:
1.3 Funktions-Parameter:
Mit Funktionsparametern
ist es möglich eine Funktion, vielmehr einen Zeiger auf eine Funktion, einem
Modul zu übergeben und dann aufzurufen. Anwendung: Menüsteuerung,
Rückruffunktion, Quicksort
Eigenschaften:
1.4 Vor- bzw. Nachteile der Parameterübergabe:
Vorteile:
+ keine globalen Variable nötig, übersichtlicher
+ modulares Programmieren möglich
+ Funktionen/Module lassen sich leichter testen
+ Funktionen/Module in anderen Programmen wiederverwendbar
Nachteile:
- Gefahr bei Rekursion (Stacküberlauf)
- Geschwindigkeitsverlust
- Gefahr von eventuellen Übergabefehlern (Reihenfolge, Typ
oder Anzahl)
1.5 Weitere Begriffe
Aktual-Parameter:
- Parameter, die beim Aufruf einer Funktion/Prozedur angegeben werden.
- z.B. funktion(4177) 4177 ist Aktual-Parameter
Formal-Parameter:
- Parameter, die in der Funktion/Prozedur verwendet werden und den Wert
des Aktual-Parameters übernehmen.
- z.B. funktion(int x) x ist Formal-Parameter
1.6 Übersicht der Parameterübergaben:
|
Ansi-C |
C++ |
Java |
V-Basic (bis 4.0) |
Cobol |
Werte-Parameter Variable-Parameter Funktions-Parameter |
ja ja (Array) ja |
ja ja ja |
ja ja (nur bei Obj.) nein |
ja ja nein |
nein ja nein |
2. Parameterübergabe in den verschiedenen Programmiersprachen
2.1 Ansi-C
void fu (int a, int *b) |
Aufruf: |
typedef int (*FZ) (int,int); // Funktions-Zeiger Deklaration void aufruf (FZ); void aufruf (FZ fu) int add (int a, int b) int sub (int a, int b) |
2.2 C++
Referenzen ermöglichen Variable-Parameter
void fu (int a, int &b) |
Aufruf: |
void fu (int a, int b = 2, int c = 3) |
Aufruf: |
2.3 Java
In Java erfolgt die Parameterübergabe immer 'by value'
void add(int a, int b, int sum) |
Aufruf: |
Abhilfe: Returnwert int add (int a, int b) |
Aufruf: |
2.4 Visual Basic
In Visual Basic sind alle
Parameter standardmäßig Referenz-Parameter, können aber durch das
Schlüsselwort ByVal in Werte-Parameter umgewandelt werden (ausgenommen
Arrays).
Sub Add (ByVal a As Integer, ByVal b
As Integer, Summe As Integer) |
Aufruf: Hinweis: |
2.5 Cobol
Die Parameterübergabe ist nur an externe Unterprogramme möglich
IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. PROCEDURE DIVISION USING A, B,
SUMME. |
IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. PROCEDURE DIVSION. |
Referate über:
|
Datenschutz |
Copyright ©
2024 - Alle Rechte vorbehalten AZreferate.com |
Verwenden sie diese referate ihre eigene arbeit zu schaffen. Kopieren oder herunterladen nicht einfach diese # Hauptseite # Kontact / Impressum |