Innere Klassen
This commit is contained in:
parent
95201b3b4a
commit
3eaca0924e
BIN
verfahren.pdf
BIN
verfahren.pdf
Binary file not shown.
@ -28,9 +28,9 @@
|
|||||||
%\pdfminorversion=7 % Import-Unterstützung für PDFs bis Version 1.7
|
%\pdfminorversion=7 % Import-Unterstützung für PDFs bis Version 1.7
|
||||||
%\pgfplotsset{compat=1.16} % verhindern, dass pgfplots im Rückwärtskompatibilitätsmodus arbeitet
|
%\pgfplotsset{compat=1.16} % verhindern, dass pgfplots im Rückwärtskompatibilitätsmodus arbeitet
|
||||||
|
|
||||||
\setlist[enumerate,1]{label={\alph*)}}
|
|
||||||
\setlist[enumerate,2]{label={\arabic*.}}
|
|
||||||
|
|
||||||
|
\setlist[enumerate,1]{label={\arabic*.}}
|
||||||
|
\setlist[enumerate,2]{label={\alph*)}}
|
||||||
|
|
||||||
\title{Grundlagen des Übersetzerbaus: Verfahren}
|
\title{Grundlagen des Übersetzerbaus: Verfahren}
|
||||||
\author{Marco Ammon (my04mivo)}
|
\author{Marco Ammon (my04mivo)}
|
||||||
@ -44,6 +44,19 @@
|
|||||||
\section{Transformationen}
|
\section{Transformationen}
|
||||||
|
|
||||||
\subsection{Innere Klassen}
|
\subsection{Innere Klassen}
|
||||||
|
\begin{description}
|
||||||
|
\item[innere Klasse:] in \texttt{Outer} enthaltene, nicht statische Klasse \texttt{Inner}
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{enumerate}
|
||||||
|
\item flache Hierarchie durch Verschieben der inneren Klasse außerhalb der umgebenden Klasse(n): \texttt{Outer.Inner} $\rightarrow$ \texttt{Outer\$Inner}
|
||||||
|
\item Konstruktor der inneren Klasse um Parameter ggf. erzeugen und um Parameter \texttt{Outer this\$i} ergänzen (mit $i$ als Schachtelungstiefe von \texttt{Outer}), zusätzlich gleichnamige Instanzvariable einfügen
|
||||||
|
\item Zugriffen auf Instanzvariablen von \texttt{Outer} ein \texttt{this\$i.} voranstellen
|
||||||
|
\item Hilfsmethoden für Zugriff auf private Instanzvariablen von \texttt{Outer} in \texttt{Outer} einfügen (mit aktueller Java-Version durch spezielles Attribut in Klassendatei nicht mehr notwendig)
|
||||||
|
\item Alle Auftreten von \texttt{Inner} durch \texttt{Outer\$Inner} ersetzen
|
||||||
|
\item Bei von \texttt{Inner} erbenden Klassen \texttt{(new Outer()).super();} im Konstruktor ergänzen, damit \text{Outer}-Instanz erzeugt wird
|
||||||
|
\item Bei in Blöcken deklarierten inneren Klassen wird der Zugriff auf finale (oder \enquote{effectively-final}) Variablen durch Ergänzen des Konstruktors um diese Variablen ermöglicht
|
||||||
|
\end{enumerate}
|
||||||
|
|
||||||
\subsection{Generics}
|
\subsection{Generics}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user