blob: 9abcaec8bf9a8bf70cffdc9fe0a004a11b541c3c (
plain)
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
|
\renewcommand{\Verteilung}{3 + 2} %%Anzahl der Punkte festlegen
\begin{Aufg}
\textbf{a)} Beschreibe in eigenen Worten die beiden Aspekte des Grundsatzes der Datenkapselung und wie dies in der Programmiersprache Java umgesetzt wird.
\iflehrer{}{\liniert[8mm]{5}}
\noindent \textbf{b)} Markiere in folgendem Programmcode die Stellen, an denen der Grundsatz der Datenkapselung \underline{nicht} umgesetzt wurde und begründe kurz warum.
\begin{minted}[linenos, xleftmargin=1.6em]{java}
public class Benutzeraccount {
public String benutzername;
private String[] posts;
public Benutzeraccount(String neuerNutzer) {
benutzername = neuerNutzer;
}
private String[] gibPosts() {
return posts;
}
}
\end{minted}
\end{Aufg}
\begin{Lsg}[A1; Kommunizieren, begründen]
a)
\begin{itemize}
\setlength\itemsep{0.1em}
\item Nur Klasse sollte Zugriff auf ihre Attribute haben \BE{1}
\item Zugriff sollte über Methoden der Klasse gewährt werden \BE{1}
\item Umsetzung in Java
\begin{itemize}
\setlength\itemsep{0.1em}
\item private - Nur Zugriff aus Klasse \BE{1}
\item public - Uneingeschränkter Zugriff
\end{itemize}
\end{itemize}
b) \iftoggle{erwartungshorizont}{Halber BE für richtige Zeile; Halber BE für Begründung}{}
\begin{itemize}
\setlength\itemsep{0.1em}
\item Zeile 2: benutzername ist public $\rightarrow$ Uneingeschränkter Zugriff \BE{1}
\item Zeile 9: gibPosts ist private $\rightarrow$ Keine Möglichkeit an die Posts zu kommen \BE{1}
\end{itemize}
\end{Lsg}
|