diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2023-04-19 15:00:42 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2023-04-19 15:00:42 +0200 |
| commit | 820f2d151be22f49fc646950fff5daefebb0bc59 (patch) | |
| tree | cc6d53dac34ae65efb871e53921e42023b7e7b28 | |
| parent | a78735c92a2cde440de3a760ec78feaba824bbf2 (diff) | |
| download | unterricht-820f2d151be22f49fc646950fff5daefebb0bc59.tar.gz unterricht-820f2d151be22f49fc646950fff5daefebb0bc59.zip | |
Datenkapselung: improve slides, and fix first task description
* Make slides 16:9 and adapt the capsular slide
* Fix typo in task 1
* Separate task 1 for classes using the BlueJ and Online-IDE
| -rw-r--r-- | Info/10/2/Datenkapselung/slides-bank.md | 15 | ||||
| -rw-r--r-- | Info/10/2/Datenkapselung/slides-einfuehrung.md (renamed from Info/10/2/Datenkapselung/slides.md) | 98 | ||||
| -rw-r--r-- | Info/10/2/Datenkapselung/slides-erarbeitung.md | 97 | ||||
| -rw-r--r-- | Info/10/2/Datenkapselung/slides-spielautomat.md | 15 |
4 files changed, 126 insertions, 99 deletions
diff --git a/Info/10/2/Datenkapselung/slides-bank.md b/Info/10/2/Datenkapselung/slides-bank.md index 48c6a12f..852795f7 100644 --- a/Info/10/2/Datenkapselung/slides-bank.md +++ b/Info/10/2/Datenkapselung/slides-bank.md @@ -1,6 +1,7 @@ --- author: Florian Fischer theme: Rochester +aspectratio: 169 header-includes: | \usepackage[school]{pgf-umlcd} \usepackage{unicode-math} @@ -8,10 +9,22 @@ header-includes: | \usetikzlibrary{calc, arrows.meta, decorations.text} --- +```{.include} +slides-einfuehrung.md +``` + +## Arbeitsauftrag + +Arbeitszeit: 7min + +Öffne den workspace `Schuelerakte` in der Online-IDE. +* Aufgabe 1: Vervollständige die Methode `ZusammenfassungAusgeben` in der Klasse `SCHUELER`. +* Aufgabe 2: Vervollständige die Methode `SpitznameSetzen` in der Klasse `SCHUELER`. +* Aufgabe 3: Vervollständige die Methode `NotenschnittSetzen` in der Klasse `SCHUELER`. Und merke dir deine Beobachtungen. ```{.include} -slides.md +slides-erarbeitung.md ``` diff --git a/Info/10/2/Datenkapselung/slides.md b/Info/10/2/Datenkapselung/slides-einfuehrung.md index 66e9ba84..2174a3bb 100644 --- a/Info/10/2/Datenkapselung/slides.md +++ b/Info/10/2/Datenkapselung/slides-einfuehrung.md @@ -1,6 +1,7 @@ --- author: Florian Fischer theme: Rochester +aspectratio: 169 header-includes: | \usepackage[school]{pgf-umlcd} \usepackage{unicode-math} @@ -161,100 +162,3 @@ class AKTE { ::: \normalsize - -## Arbeitsauftrag - -Arbeitszeit: 7min - -Kopiere die Vorlage des Projekts Schülerakte unter `Vorlagen/FIF/Schuelerakte` auf deinen USB-Stick. - -* Aufgabe 1: Vervollständige die Methode `ZusammenfassungAusgeben` in der Klasse `SCHUELER`. -* Aufgabe 2: Vervollständige die Methode `SpitznameSetzen` in der Klasse `SCHUELER`. -* Aufgebe 3: Vervollständige die Methode `NotenschnittSetzen` in der Klasse `SCHUELER`. Und merke dir deine Beobachtungen. - -## Wdh. Punktdiagram - -\begin{tikzpicture}[scale=0.5] - \begin{object}[text width=4cm]{s1}{0,0} - \instanceOf{SCHUELER} - \attribute{name : String} - \attribute{akte : AKTE} - \end{object} - - \begin{object}[text width=4cm]{a1}{12,0} - \instanceOf{AKTE} - \attribute{spitzname : String} - \attribute{notenschnitt : double} - \end{object} - - \only<2->{ - \node[fill=black, circle, minimum size=0.075cm] (circle) at (1, -2.5) {}; - \draw[line width=2pt, -latex] (circle) edge [bend left=15] (8, -0.5) {}; - } - -\end{tikzpicture} - -\pause -\pause - -\vspace{0.5cm} -`<bezeichner>.<attribute>` -`<bezeichner>.<methode>(<parameter>)` - -\pause - -### Beispiele in `SCHUELER` - -```java -akte.spitzname = "J"; -akte.SpitznameSetzen("J"); -``` - -## Datenkapselung - -\begin{center} -\scalebox{0.82}{ -\input{capsule.tikz} -} -\end{center} - -## Datenkapselung - -### Merke - -Der Grundsatz der **Datenkapselung** besagt, dass nur ein Objekt selbst Zugriff auf seine Attribute haben sollte. - -\pause - -\vspace{0.75cm} - -Der Zugriff von außen sollte nur über durch das Objekt bereitgestellte Methoden erfolgen. - -## Zugriffsrechte - -Um den Zugriff auf Klasse, Methoden und Attribute zu steuern stellt Java folgende Schlüsselwörter, auch Zugriffsmodifikatoren genannt, bereit: - -\vspace{0.25cm} - -### Schlüsselwörter -\pause -`private // Zugriff nur innerhalb der selben Klasse`{.java} \pause -`public // Uneingeschränkter Zugriff`{.java} \pause -`protected // Zugriff nur aus dem gleichen Java-Paket`{.java} - -## Zugriffsrechte - -### Verwendung -\small -`<Schlüsselwort> <Datentyp> <Bezeichner>;` -`<Schlüsselwort> <Rückgabetyp> <Bezeichner>(<Parameter>);` - -\pause - -### Beispiele in `SCHUELERAKTE` -```java -private double notenschnitt; -public String spitzname; - -private void NotenschnittSetzen(double neuerSchnitt); -``` diff --git a/Info/10/2/Datenkapselung/slides-erarbeitung.md b/Info/10/2/Datenkapselung/slides-erarbeitung.md new file mode 100644 index 00000000..462f3a11 --- /dev/null +++ b/Info/10/2/Datenkapselung/slides-erarbeitung.md @@ -0,0 +1,97 @@ +--- +author: Florian Fischer +theme: Rochester +aspectratio: 169 +header-includes: | + \usepackage[school]{pgf-umlcd} + \usepackage{unicode-math} + \usepackage{tikz} + \usetikzlibrary{calc} +--- + +## Wdh. Punktdiagram + +\begin{tikzpicture}[scale=0.5] + \begin{object}[text width=4cm]{s1}{0,0} + \instanceOf{SCHUELER} + \attribute{name : String} + \attribute{akte : AKTE} + \end{object} + + \begin{object}[text width=4cm]{a1}{12,0} + \instanceOf{AKTE} + \attribute{spitzname : String} + \attribute{notenschnitt : double} + \end{object} + + \only<2->{ + \node[fill=black, circle, minimum size=0.075cm] (circle) at (1, -2.5) {}; + \draw[line width=2pt, -latex] (circle) edge [bend left=15] (8, -0.5) {}; + } + +\end{tikzpicture} + +\pause +\pause + +\vspace{0.5cm} +`<bezeichner>.<attribute>` +`<bezeichner>.<methode>(<parameter>)` + +\pause + +### Beispiele in `SCHUELER` + +```java +akte.spitzname = "J"; +akte.SpitznameSetzen("J"); +``` + +## Datenkapselung + +\begin{center} +\scalebox{0.75}{ +\input{capsule.tikz} +} +\end{center} + +## Datenkapselung + +### Merke + +Der Grundsatz der **Datenkapselung** besagt, dass nur ein Objekt selbst Zugriff auf seine Attribute haben sollte. + +\pause + +\vspace{0.75cm} + +Der Zugriff von außen sollte nur über durch das Objekt bereitgestellte Methoden erfolgen. + +## Zugriffsrechte + +Um den Zugriff auf Klasse, Methoden und Attribute zu steuern stellt Java folgende Schlüsselwörter, auch Zugriffsmodifikatoren genannt, bereit: + +\vspace{0.25cm} + +### Schlüsselwörter +\pause +`private // Zugriff nur innerhalb der selben Klasse`{.java} \pause +`public // Uneingeschränkter Zugriff`{.java} \pause +`protected // Zugriff nur aus dem gleichen Java-Paket`{.java} + +## Zugriffsrechte + +### Verwendung +\small +`<Schlüsselwort> <Datentyp> <Bezeichner>;` +`<Schlüsselwort> <Rückgabetyp> <Bezeichner>(<Parameter>);` + +\pause + +### Beispiele in `SCHUELERAKTE` +```java +private double notenschnitt; +public String spitzname; + +private void NotenschnittSetzen(double neuerSchnitt); +``` diff --git a/Info/10/2/Datenkapselung/slides-spielautomat.md b/Info/10/2/Datenkapselung/slides-spielautomat.md index 8151813a..578dee99 100644 --- a/Info/10/2/Datenkapselung/slides-spielautomat.md +++ b/Info/10/2/Datenkapselung/slides-spielautomat.md @@ -1,6 +1,7 @@ --- author: Florian Fischer theme: Rochester +aspectratio: 169 header-includes: | \usepackage[school]{pgf-umlcd} \usepackage{unicode-math} @@ -9,9 +10,21 @@ header-includes: | --- +```{.include} +slides-einfuehrung.md +``` + +## Arbeitsauftrag + +Arbeitszeit: 7min + +Kopiere die Vorlage des Projekts Schülerakte unter `Vorlagen/FIF/Schuelerakte` auf deinen USB-Stick. +* Aufgabe 1: Vervollständige die Methode `ZusammenfassungAusgeben` in der Klasse `SCHUELER`. +* Aufgabe 2: Vervollständige die Methode `SpitznameSetzen` in der Klasse `SCHUELER`. +* Aufgabe 3: Vervollständige die Methode `NotenschnittSetzen` in der Klasse `SCHUELER`. Und merke dir d eine Beobachtungen. ```{.include} -slides.md +slides-erarbeitung.md ``` |
