\documentclass{schulein}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: info_parameter_java.tex 626 2014-05-22 21:36:50Z pieper $}

\dokName{Parameter von Methoden}
\jahrgang{11}

\begin{document}

\section*{Parameter von Methoden}
Ein \textbf{Parameter} ist ein veränderliches Element, welches bei einem Methoden-Aufruf angegeben
werden kann, um zusätzliche Information an das Zielobjekt zu übermitteln.
Die formale Beschreibeung dieser Information findet in Form ein oder mehrerer \textbf{Parameter} statt.

\subsection*{Syntax von Methoden}
Durch die Verwendung von Parametern muss die Syntaxvereinbarung für Methoden erweitert werden. Ein oder mehrere Parameter werden dabei innerhalb der runden Klammern aufgeführt und durch Kommata voneinander getrennt.

\begin{tikzpicture}[syntaxdiagramm]
	\node {};
	\node [nonterminal] {Methodenbezeichner};
	\node [terminal] {(};
	\node (start1) [point]{};
	\node (end1)[point,xshift=35mm] {};
	\node [terminal] {)};
	\node [endpoint] {};
	{[start chain=1]
		\chainin (start1);
		\node [point, below=of start1] {};
		\node (end2) [point] {};
		\node (parameter) [nonterminal] {Parameter};
		\node (start2) [point] {};
		\node [point, below=of end1] {};
 		\node [endpoint, on chain=going above] {};
	}
	{[start chain=2 going left]
		\chainin(start2);
		\node [point, below=of start2] {};
		\node [terminal] {,};
		\node [point, below=of end2] {};
		\node [endpoint, on chain=going above] {};
	}
\end{tikzpicture}

\minisec{Beispiel} 
Im folgenden Beispiel wird dargestellt, wie Jens einen Zettel mit dem Text "`Morgen ist schulfrei"' beschriftet. Dazu hat beim Objekt \texttt{zettel1} die Methode \texttt{setzeInhalt} den Parameter \texttt{pText}:
\begin{center}
\includegraphics[]{zettel1-1}
\end{center}

Die Methode setzeInhalt wird mit dem Parameterwert "`Morgen ist schulfrei"' aufgerufen:
\begin{center}
\begin{sequencediagram}
	\tikzstyle{inststyle}+=[rounded corners=3.2mm] %% hier werden weitere Optionen angegeben
	\newthread{je}{jens}
	\newinst[6]{ze}{zettel1}
	\begin{call}{je}{setzeInhalt("`Morgen ist schulfrei"')}{ze}{}
	\end{call}
\end{sequencediagram}
\end{center}

\end{document}