Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:start [13.01.2022 09:52] – sbel | faecher:informatik:oberstufe:algorithmen:rekursion:programmaufrufstack:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Der Programmaufrufstack ====== | ||
- | Unter dem (Programm)Aufrufstapel (englisch call stack, procedure stack) versteht man einen besonders genutzten Stapelspeicher, | ||
- | |||
- | Was bedeutet das? Wir betrachten ein Beispiel: | ||
- | |||
- | <code java> | ||
- | public class Hallo | ||
- | { | ||
- | public Hallo(String name) | ||
- | { | ||
- | System.out.println(" | ||
- | GruessGott(name); | ||
- | System.out.println(" | ||
- | AufWiedersehen(); | ||
- | AufWiedersehen(); | ||
- | } | ||
- | | ||
- | public void GruessGott(String name) { | ||
- | System.out.println(" | ||
- | |||
- | } | ||
- | | ||
- | public void AufWiedersehen() { | ||
- | System.out.println(" | ||
- | } | ||
- | |||
- | } | ||
- | </ | ||
- | |||
- | Beim Aufruf des Konstruktors werden also zwei weitere Methoden, also " | ||
- | |||
- | {{ : | ||
- | |||
- | Dabei fällt auf, dass der Programmablauf nach jedem Aufruf eines Unterprogramms zu der Stelle zurückkehren muss, von der dieses aufgerufen wurde. Das wird dadurch realisiert, dass beim Aufruf einer Methode/ | ||
- | |||
- | ^ Was passiert | ||
- | | Der Konstruktor wird mit dem Argument '' | ||
- | | Aus dem Konstruktor heraus wird die Methode '' | ||
- | | Die Bearbeitung von '' |