1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
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}
|