From d3e07af04e25465ff5074a26ef66d7730c679e1e Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sat, 7 Feb 2026 12:16:24 +0100 Subject: improve encapsulation slides --- Info/10/2/Datenkapselung/slides-bank.md | 2 +- Info/10/2/Datenkapselung/slides-einfuehrung.md | 8 +++---- Info/10/2/Datenkapselung/slides-erarbeitung.md | 8 ++++--- Info/10/2/Datenkapselung/slides-spielautomat.md | 29 ++++++++++++------------- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/Info/10/2/Datenkapselung/slides-bank.md b/Info/10/2/Datenkapselung/slides-bank.md index a2c2a686..c15e1445 100644 --- a/Info/10/2/Datenkapselung/slides-bank.md +++ b/Info/10/2/Datenkapselung/slides-bank.md @@ -65,7 +65,7 @@ font=\small}] ::: columns :::: {.column} -![](img/Computer-hacker.jpg) +![](img/Computer-hacker.png) :::: :::: column ![](img/Bank.png) diff --git a/Info/10/2/Datenkapselung/slides-einfuehrung.md b/Info/10/2/Datenkapselung/slides-einfuehrung.md index 9ec31817..6dc7ce2f 100644 --- a/Info/10/2/Datenkapselung/slides-einfuehrung.md +++ b/Info/10/2/Datenkapselung/slides-einfuehrung.md @@ -4,7 +4,7 @@ theme: Rochester aspectratio: 169 --- -## Wdh. Klassendiagramm +## \faIcon{chalkboard-teacher} Wiederholung: Klassendiagramm @@ -41,7 +41,7 @@ font=\small}] \end{tikzpicture} \end{center} -## Wdh. Referenzvariablen +## \faIcon{chalkboard-teacher} Wiederholung: Referenzvariablen \small @@ -80,7 +80,7 @@ class AKTE { \normalsize -## Wdh. Referenzvariablen +## \faIcon{chalkboard-teacher} Wiederholung: Referenzvariablen \small @@ -119,7 +119,7 @@ class AKTE { \normalsize -## Wdh. Referenzvariablen +## \faIcon{chalkboard-teacher} Wiederholung: Referenzvariablen \small diff --git a/Info/10/2/Datenkapselung/slides-erarbeitung.md b/Info/10/2/Datenkapselung/slides-erarbeitung.md index 55c7bd66..38ff8f6d 100644 --- a/Info/10/2/Datenkapselung/slides-erarbeitung.md +++ b/Info/10/2/Datenkapselung/slides-erarbeitung.md @@ -6,7 +6,7 @@ header-includes: | \usepackage{bm} --- -## Wdh. Punktdiagram +## \faIcon{chalkboard-teacher} Wiederholung: Punktdiagram \begin{tikzpicture}[scale=0.5] \begin{object}[text width=4cm]{s1}{0,0} @@ -54,9 +54,9 @@ akte.SpitznameSetzen("J"); ## Datenkapselung -### \faIcon{pencil-alt} Merke +\begin{merke} -Der Grundsatz der **Datenkapselung** besagt, dass nur ein Objekt selbst Zugriff auf seine Attribute haben sollte. +Der Grundsatz der \boldred{Datenkapselung} besagt, dass nur ein Objekt selbst Zugriff auf seine Attribute haben sollte. \pause @@ -64,6 +64,8 @@ Der Grundsatz der **Datenkapselung** besagt, dass nur ein Objekt selbst Zugriff Der Zugriff von außen sollte nur über durch das Objekt bereitgestellte \boldred{Methoden} erfolgen. +\end{merke} + ## Zugriffsrechte Um den Zugriff auf Klasse, Methoden und Attribute zu steuern stellt Java folgende Schlüsselwörter, auch Zugriffsmodifikatoren genannt, bereit: diff --git a/Info/10/2/Datenkapselung/slides-spielautomat.md b/Info/10/2/Datenkapselung/slides-spielautomat.md index ca4c4fd3..10cc368b 100644 --- a/Info/10/2/Datenkapselung/slides-spielautomat.md +++ b/Info/10/2/Datenkapselung/slides-spielautomat.md @@ -10,9 +10,7 @@ header-includes: | slides-einfuehrung.md ``` -## \faIcon{desktop} Arbeitsauftrag - -Arbeitszeit: 7min +## \faIcon{desktop} Arbeitsauftrag: Schülerakte \hfill 7 min **Kopiere** die Vorlage des Projekts Schülerakte unter `Vorlagen/Schuelerakte`. @@ -24,13 +22,14 @@ Arbeitszeit: 7min slides-erarbeitung.md ``` -## Wiederholung Spielautomat +## \vspace{-1cm} ![](img/slot-machine-g23d043aac_1280.png){.center height=0.8\textheight} -## Wiederholung Spielautomat +## Wiederholung: Spielautomat +\centering \begin{tikzpicture}[ class/.style={ draw, @@ -51,35 +50,35 @@ font=\small}] \draw (spielwalze) edge[midway, sloped, align=center] node {\small < besteht \\ aus} (spielautomat); \end{tikzpicture} -## Arbeitsauftrag +## ::: columns :::: {.column} \vspace{1.2cm} +```\only<2->{```{=latex} ![](img/Computer-hacker.png) +```}```{=latex} :::: :::: column ![](img/slot-machine-g23d043aac_1280.png) :::: ::: -## \faIcon{desktop} Arbeitsauftrag - -Arbeitszeit: 15min +## \faIcon{desktop} Arbeitsauftrag: Schwachstellen ausnutzen \hfill 15 min -**Kopiere** die Spielautomatvorlage unter `Vorlagen/Spielautomat_Datenkapselung`. +**Öffne** das Projekt `Spielautomat_Datenkapselung`. * **Aufagbe 0**: Untersuche die Klasse `SPIELAUTOMAT` und `SPIELWALZE` auf fehlende Datenkapselung. * **Aufagbe 1**: Ergänze die Methoden `SchalteAutomatenLichterAus` in der Klasse `SPIELER`. * **Aufgabe 2**: Ergänze die Methode `ManipuliereAutomat` in der Klasse `SPIELER`. -* **Fuer Schnelle**: Ergänze die Methode `ZerstoereAutomat` in der Klasse `SPIELER`. +* \faIcon{earlybirds} **Für Schnelle**: Ergänze die Methode `ZerstoereAutomat` in der Klasse `SPIELER`. -## \faIcon{desktop} Arbeitsauftrag 2 +## \faIcon{desktop} Arbeitsauftrag 2: Schwachstellen schließen Stelle dir vor, du wurdest von dem Spielautomat-Hersteller beauftragt, den Spielautomaten abzusichern. ![](img/white-hat.png){width=1cm} ### Aufgabe -Ergänze die Klassen `SPIELWALZE` und `SPIELAUTOMAT` um die Methoden `SchalteAutomatenLichterAus` und `ManipuliereAutomat` zu verhindern. +Ergänze die fehlenden Schlüsselwörter in den Klassen `SPIELWALZE` und `SPIELAUTOMAT`, um die Methoden `SchalteAutomatenLichterAus` und `ManipuliereAutomat` zu verhindern. -### Tipp -Verwende den Grundsatz der **Datenkapselung** sowie das geeignete Java Schlüsselwort. +\vspace{0.5cm} +**Tipp:** Verwende den Grundsatz der **Datenkapselung** sowie das geeignete Java Schlüsselwort. -- cgit v1.2.3