From eca6267ce15a94a9013d3b793550ea72fc2d524b Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 24 Apr 2023 09:12:08 +0200 Subject: user micro blogging instead of bank exercise the bank we already discussed in our lessons --- .../10/2/Aufgaben/Datenkapselung_Microblogging.tex | 45 ++++++++++++++++++++++ .../Aufgaben/Datenkapselung_Microblogging.tex | 1 + Info/2023/10D/2_Kurzarbeit/_test.tex | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex create mode 120000 Info/2023/10D/2_Kurzarbeit/Aufgaben/Datenkapselung_Microblogging.tex diff --git a/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex new file mode 100644 index 00000000..fe6b3f81 --- /dev/null +++ b/Info/10/2/Aufgaben/Datenkapselung_Microblogging.tex @@ -0,0 +1,45 @@ +\renewcommand{\AnzahlPunkte}{5} %%Anzahl der Punkte festlegen +\renewcommand{\Verteilung}{3 + 2 BE} %%Anzahl der Punkte festlegen + +\begin{Aufg} + +\textbf{a)} Beschreibe in eigenen Worten die zwei Aspekte des Grundsatzes der Datenkapselung und wie er in der Programmiersprache Java umgesetzt wird. + +\noindent \textbf{b)} Markiere in folgendem Programmcode die Stellen an denen dert Grundsatz der Datenkapselung nicht umgesetzt wurde und begründe kurz warum. + +\begin{minted}[linenos, baselinestretch=1.2, fontsize=\small]{java} +public class Benutzeraccount { + public String benutzername; + private String[] posts; + + public Benutzeraccount(String neuerNutzer) { + benutzername = neuerNutzer; + } + + private String gibPosts() { + return post; + } +} +\end{minted} +\end{Aufg} + +\begin{Lsg} +a) +\begin{itemize} +\setlength\itemsep{0.1em} + \item Nur Klasse sollte Zugriff auf ihre Attribute haben (1BE) + \item Zugriff sollte über Methoden der Klasse gewährt werden (1BE) + \begin{itemize} + \setlength\itemsep{0.1em} + \item private - Nur Zugriff aus Klasse (1BE) + \item public - Uneingeschränkter Zugriff + \end{itemize} +\end{itemize} + +b) Halber BE für richtige Zeile; Halber BE für Begründung +\begin{itemize} + \setlength\itemsep{0.1em} + \item Zeile 2: benutzername ist public -> Uneingeschränkter Zugriff + \item Zeile 12: gibPosts ist private -> Keine Möglichkeit an die Posts zu kommen +\end{itemize} +\end{Lsg} diff --git a/Info/2023/10D/2_Kurzarbeit/Aufgaben/Datenkapselung_Microblogging.tex b/Info/2023/10D/2_Kurzarbeit/Aufgaben/Datenkapselung_Microblogging.tex new file mode 120000 index 00000000..57bc4723 --- /dev/null +++ b/Info/2023/10D/2_Kurzarbeit/Aufgaben/Datenkapselung_Microblogging.tex @@ -0,0 +1 @@ +../../../../10/2/Aufgaben/Datenkapselung_Microblogging.tex \ No newline at end of file diff --git a/Info/2023/10D/2_Kurzarbeit/_test.tex b/Info/2023/10D/2_Kurzarbeit/_test.tex index 07f06c6a..72153c69 100644 --- a/Info/2023/10D/2_Kurzarbeit/_test.tex +++ b/Info/2023/10D/2_Kurzarbeit/_test.tex @@ -10,7 +10,7 @@ \thispagestyle{ErsteSeite} \Intro -\input{Aufgaben/Datenkapselung_Bank} +\input{Aufgaben/Datenkapselung_Microblogging} \begin{Bearbeitung} ~\\[7cm] \end{Bearbeitung} -- cgit v1.2.3