aboutsummaryrefslogtreecommitdiff
path: root/Info/9
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-08-24 18:41:17 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-08-24 18:41:55 +0200
commitb53e93b9fac9a1a72ca41cc8eb367f9026344bfa (patch)
treef51e35618c168093a2f5a23c9be5d47c37ee7978 /Info/9
parent9194b3593d6bac4c7fbcaab0ac056e099fbc4a12 (diff)
downloadunterricht-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/.gitignore1
-rw-r--r--Info/9/3/Rennbahn/vererbung_handout.tex82
-rw-r--r--Info/9/3/Rennbahn/vererbung_handout_print.tex6
-rw-r--r--Info/9/3/SpaceInvaders/vererbung_handout.tex84
-rw-r--r--Info/9/3/SpaceInvaders/vererbung_handout_print.tex6
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}