diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-08-24 18:41:17 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2024-08-24 18:41:55 +0200 |
| commit | b53e93b9fac9a1a72ca41cc8eb367f9026344bfa (patch) | |
| tree | f51e35618c168093a2f5a23c9be5d47c37ee7978 /Info/9 | |
| parent | 9194b3593d6bac4c7fbcaab0ac056e099fbc4a12 (diff) | |
| download | unterricht-b53e93b9fac9a1a72ca41cc8eb367f9026344bfa.tar.gz unterricht-b53e93b9fac9a1a72ca41cc8eb367f9026344bfa.zip | |
add inheritance handout to the Rennbahn project
Diffstat (limited to 'Info/9')
| -rw-r--r-- | Info/9/3/Rennbahn/.gitignore | 1 | ||||
| -rw-r--r-- | Info/9/3/Rennbahn/vererbung_handout.tex | 82 | ||||
| -rw-r--r-- | Info/9/3/Rennbahn/vererbung_handout_print.tex | 6 | ||||
| -rw-r--r-- | Info/9/3/SpaceInvaders/vererbung_handout.tex | 84 | ||||
| -rw-r--r-- | Info/9/3/SpaceInvaders/vererbung_handout_print.tex | 6 |
5 files changed, 179 insertions, 0 deletions
diff --git a/Info/9/3/Rennbahn/.gitignore b/Info/9/3/Rennbahn/.gitignore index d9c38090..977e9e02 100644 --- a/Info/9/3/Rennbahn/.gitignore +++ b/Info/9/3/Rennbahn/.gitignore @@ -1 +1,2 @@ *modellierung_handout.pdf +*vererbung_handout*.pdf diff --git a/Info/9/3/Rennbahn/vererbung_handout.tex b/Info/9/3/Rennbahn/vererbung_handout.tex new file mode 100644 index 00000000..567f27cd --- /dev/null +++ b/Info/9/3/Rennbahn/vererbung_handout.tex @@ -0,0 +1,82 @@ +\documentclass[a5paper]{handout} +\csname endofdump\endcsname +\usepackage{minted} + +\usetikzlibrary{decorations.pathreplacing} +\geometry{top=0.75cm} + +\title{Vererbung} + +\begin{document} +\thispagestyle{empty} +\makedate + +\begin{defbox}{Vererbung} +Eine Klasse kann \underline{alle} Attribute und Methoden einer anderen Klasse \pgap{\huge \boldred{erben}}. \\ + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Fahrzeug}{0, 0} +\end{class} +\iflehrer{ +\draw[decoration={brace}, decorate] (-2, 0.2) -- node[above=3pt] {Oberklasse} (2, 0.2); +\draw[decoration={brace}, decorate] (4, 0.2) -- node[above=3pt] {Unterklasse} (8, 0.2); +}{ +\draw[opacity=0, decoration={brace}, decorate] (-2, 0.2) -- node[above=3pt] {Oberklasse} (2, 0.2); +\draw[opacity=0, decoration={brace}, decorate] (4, 0.2) -- node[above=3pt] {Unterklasse} (8, 0.2); +} + +\begin{class}[text width=4cm]{Bus}{6, 0} +\iflehrer{\inherit{Fahrzeug}}{} +\end{class} +\end{tikzpicture} + +\textbf{Man spricht:} \\ +Die \pgap{\huge \textit{Unterklasse}} erbt von der \pgap{\huge \textit{Oberklasse}}. \\ +Der Bus \pgap{\huge \textbf{ist}} ein Fahrzeug. +\end{defbox} + +\vspace{-0.5cm} +\section*{Vererbung in Java} +\vspace{-0.2cm} +Das Schlüsselwort \pgap{\huge\texttt{extends}} in der Klassendefinition drückt eine Vererbungsbeziehung aus. + +\begin{tabular}{p{0.4\textwidth} p{0.6\textwidth}} +\begin{minted}{java} +class Oberklasse { + int zahl; + Oberklasse() { + zahl = 13; + } +} +\end{minted} +& +\begin{minted}{java} +class Unterklasse extends Oberklasse { + + Unterklasse() { + super(); + zahl = 12; + } +} +\end{minted} +\end{tabular} + +\vspace{-1.25cm} +\subsection*{Generalisierung} +Gemeinsamkeiten mehreren Klassen in eine Oberklasse \textit{auszulagern} nennt man \pgap{\huge \boldred{Generalisierung}}. \\[0.1cm] + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Fahrzeug}{0, 2} +\iflehrer{\attribute{geschwindigkeit}}{\attribute{\phantom{\Huge geschwindigkeit}}} +\iflehrer{\operation{bewegen()}}{\operation{\phantom{\Huge bewegen()}}} +\end{class} + +\begin{class}[text width=4cm]{Rakete}{7, 0} +\iflehrer{\inherit{Fahrzeug}}{} +\end{class} + +\begin{class}[text width=4cm]{Bus}{7, 2} +\iflehrer{\inherit{Fahrzeug}}{} +\end{class} +\end{tikzpicture} +\end{document} diff --git a/Info/9/3/Rennbahn/vererbung_handout_print.tex b/Info/9/3/Rennbahn/vererbung_handout_print.tex new file mode 100644 index 00000000..c22da566 --- /dev/null +++ b/Info/9/3/Rennbahn/vererbung_handout_print.tex @@ -0,0 +1,6 @@ +\documentclass[landscape]{article} +\usepackage{pdfpages} +\begin{document} +\pagestyle{empty} +\includepdf[pages={1,1}, nup=2x1]{vererbung_handout.pdf} +\end{document} diff --git a/Info/9/3/SpaceInvaders/vererbung_handout.tex b/Info/9/3/SpaceInvaders/vererbung_handout.tex new file mode 100644 index 00000000..462f9508 --- /dev/null +++ b/Info/9/3/SpaceInvaders/vererbung_handout.tex @@ -0,0 +1,84 @@ +\documentclass[a5paper]{handout} +\csname endofdump\endcsname +\usepackage{minted} + +\usetikzlibrary{decorations.pathreplacing} +\geometry{top=0.75cm} + +\title{Vererbung} + +\begin{document} +\thispagestyle{empty} +\makedate + +\begin{defbox}{Vererbung} +Eine Klasse kann \underline{alle} Attribute und Methoden einer anderen Klasse \pgap{\huge \boldred{erben}}. \\ + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Projektil}{0, 0} +\end{class} + +\begin{class}[text width=4cm]{Laser}{6, 0} +\iflehrer{\inherit{Projektil}}{} +\end{class} + +\iflehrer{ +\draw[decoration={brace}, decorate] (-2, 0.2) -- node[above=3pt] {Oberklasse} (2, 0.2); +\draw[decoration={brace}, decorate] (4, 0.2) -- node[above=3pt] {Unterklasse} (8, 0.2); +}{ +\draw[opacity=0, decoration={brace}, decorate] (-2, 0.2) -- node[above=3pt] {Oberklasse} (2, 0.2); +\draw[opacity=0, decoration={brace}, decorate] (4, 0.2) -- node[above=3pt] {Unterklasse} (8, 0.2); +} + +\end{tikzpicture} + +\textbf{Man spricht:} \\ +Die \pgap{\huge \textit{Unterklasse}} erbt von der \pgap{\huge \textit{Oberklasse}}. \\ +Der Laser \pgap{\huge \textbf{ist}} ein Projektil. +\end{defbox} + +\vspace{-0.5cm} +\section*{Vererbung in Java} +\vspace{-0.2cm} +Das Schlüsselwort \pgap{\huge\texttt{extends}} in der Klassendefinition drückt eine Vererbungsbeziehung aus. + +\begin{tabular}{p{0.4\textwidth} p{0.6\textwidth}} +\begin{minted}{java} +class Oberklasse { + int zahl; + Oberklasse() { + zahl = 13; + } +} +\end{minted} +& +\begin{minted}{java} +class Unterklasse extends Oberklasse { + + Unterklasse() { + super(); + zahl = 12; + } +} +\end{minted} +\end{tabular} + +\vspace{-1.25cm} +\subsection*{Generalisierung} +Gemeinsamkeiten mehreren Klassen in eine Oberklasse \textit{auszulagern} nennt man \pgap{\huge \boldred{Generalisierung}}. \\[0.1cm] + +\begin{tikzpicture} +\begin{class}[text width=4cm]{Projektil}{0, 2} +\iflehrer{\attribute{geschwindigkeit}}{\attribute{\phantom{\Huge geschwindigkeit}}} +\iflehrer{\operation{bewegen()}}{\operation{\phantom{\Huge bewegen()}}} +\end{class} + +\begin{class}[text width=4cm]{Laser}{7, 0} +\iflehrer{\inherit{Projektil}}{} +\end{class} + +\begin{class}[text width=4cm]{Lazer}{7, 2} +\iflehrer{\inherit{Projektil}}{} +\end{class} +\end{tikzpicture} +\end{document} diff --git a/Info/9/3/SpaceInvaders/vererbung_handout_print.tex b/Info/9/3/SpaceInvaders/vererbung_handout_print.tex new file mode 100644 index 00000000..c22da566 --- /dev/null +++ b/Info/9/3/SpaceInvaders/vererbung_handout_print.tex @@ -0,0 +1,6 @@ +\documentclass[landscape]{article} +\usepackage{pdfpages} +\begin{document} +\pagestyle{empty} +\includepdf[pages={1,1}, nup=2x1]{vererbung_handout.pdf} +\end{document} |
