From 853cd550dcd515c6ffae48bce481a22cad708d1b Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 13 Mar 2024 17:13:11 +0100 Subject: add my last lesson in 10B --- Info/23_24/03/11/10B/abfrage.md | 24 ++++++++++ Info/23_24/03/11/10B/schedule.md | 18 ++++++++ Info/23_24/03/11/10B/slides.md | 98 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+) create mode 100644 Info/23_24/03/11/10B/abfrage.md create mode 100644 Info/23_24/03/11/10B/schedule.md create mode 100644 Info/23_24/03/11/10B/slides.md (limited to 'Info') diff --git a/Info/23_24/03/11/10B/abfrage.md b/Info/23_24/03/11/10B/abfrage.md new file mode 100644 index 00000000..b8c9e909 --- /dev/null +++ b/Info/23_24/03/11/10B/abfrage.md @@ -0,0 +1,24 @@ +## Datenkapselung - Wiederholung + +* Beschreibe [knapp]{.underline} was man unter dem Grundsatz der **Datenkapselung** versteht. +* Erkläre an einem selbst gewählten Beispiel, warum Datenkapselung wichtig ist. +* Erkläre wo in der Klasse `ECKarte` die Datenkapselung missachtet wurde? + ```{.java .numberLines} + class ECKarte { + public int PIN; + public ECKarte(int neuePIN) { PIN = neuePIN; } + private boolean pruefePIN(int pin) { return pin==PIN; } + } + ``` +* Gib an wie du die Klasse verändern müsstest um Datenkapselung umzusetzen? + +## Datenkapselung - Lösung + +* Attribute sollten nur vom Objekt selbst zugreifbar sein. Zugriff von außen sollte über Methoden des Objekts ablaufen. +* Bspw.: *Schülerakte*: Nicht jedes Attribut soll von jedem zugreifbar sein + * Schutz der Integrität + * Schutz von Geheimnissen +* + * Zeile 2: `PIN` sollte nicht les-/ oder schreibbar sein + * Zeile 4: `pruefePIN` sollte wenn öffentlich sein +* Zeile 2: `public public`{.java} tauschen in Zeile 2 und 4 diff --git a/Info/23_24/03/11/10B/schedule.md b/Info/23_24/03/11/10B/schedule.md new file mode 100644 index 00000000..8b964535 --- /dev/null +++ b/Info/23_24/03/11/10B/schedule.md @@ -0,0 +1,18 @@ +--- +lang: de +geometry: margin=2cm +--- +# Wiederholung Java Algortihmik + +* **Klasse**: 10B +* **Datum**: 11.03 + +## Lernziele + +## Verlaufplan + +--------------------------------------------------------------------------------------------------- +Zeit Phase Unterrichtsgeschehen Ziel Methode Medien +----- --------------- -------------------------------------------- ----------- ---------- --------- +7 Abfrage +--------------------------------------------------------------------------------------------------- diff --git a/Info/23_24/03/11/10B/slides.md b/Info/23_24/03/11/10B/slides.md new file mode 100644 index 00000000..ed4dd9bb --- /dev/null +++ b/Info/23_24/03/11/10B/slides.md @@ -0,0 +1,98 @@ +--- +header-includes: | + \makeatletter + \beamer@ignorenonframefalse + \makeatother +--- + +```{.include} +abfrage.md +``` + +## Java Grundkenntnisse (9. Klasse) + +### \faIcon{pencil-alt} **Variable** vs. **Attribut** + +\pause +* **Variable**: Abstrakter Behälter für einen Wert \pause +* **Attribut**: Eigenschaft eines konkreten Objekts + +### Beispiel + +```java +class Buch { + int Seitenzahl; // <- Attribut + + void lesen() { + int aktuelleSeite = 1 // <- Variable + ... + } +} +``` + +## Java Grundkenntnisse (9. Klasse) + +### \faIcon{pencil-alt} **Aus** vs. **Zurück** geben + +\pause +* **Ausgeben**: *(einen Output) ausdrucken, gedruckt wiedergeben* ([Duden](https://www.duden.de/rechtschreibung/ausgeben)) \pause +* **Zurückgeben**: Wert der als Ergebnis eines Methodenaufrufs (Rückgabewert), an den Aufrufer *übergeben* wird. + +### Beispiel + +```java +System.out.println("Hund"); // Gibt den Text Hund aus + +int sum(int x, int y) { // Rückgabewert ist vom Typ int + return x + y; // Gibt den Wert x + y zurück. +} +int n = sum(1, 2); // Speichert den Rückgabewert (3) +``` + +## \faIcon{pencil-alt} Java Grundkenntnisse (9. Klasse) - Methoden + +\pause +Methoden beschreiben das Verhalten von Objekten. + +\pause +**Deklaration**: ` () {}` +\pause +**Aufruf**: `();` + +### Beispiel +```java +class Farbkreis { + String farbe; + public String farbeGeben() { // Deklaration der farbeGeben Methode + return farbe; + } + public boolean istFarbe(String farbe) { + return farbeGeben() == farbe; // Aufruf der farbeGeben Methode + } +} +``` + +## \faIcon{pencil-alt} Java Grundkenntnisse (9. Klasse) - `for`{.java}-Schleife + +\pause +`for (Initialisierung; Test; Fortsetzung) Anweisung`{.java} + +* **Initalisierung**: **Initialisierung** oft auch **Deklaration** einer Zählvariable \pause +* **Test**: Bedingung für eine Wiederholung \pause +* **Fortsetzung**: Was passiert nach einer Wiederholung \pause + +### Beispiel + +```java +for (int i = 0; i < 10; i++) { // Zählt i von 0 bis 9 + System.out.println(i); // Gibt den aktuellen Wert von i aus +} +``` + +## \faIcon{desktop} Arbeitsauftrag + +* Erstelle ein neues BlueJ-Projekt *JavaBasics*. +* Erstelle eine neue Klasse `Ganzzahl`, die intern ein Attribut vom Typ `int`{.java} verwaltet. +* **Deklariere** den **Konstruktor** der Klasse `Ganzzahl`, die das Attribut **initialisiert**. +* **Deklariere** die Methode `istPrimzahl` der Klasse `Ganzzahl`. +* **Implementiere** die Methode `istPrimzahl` der Klasse `Ganzzahl`. -- cgit v1.2.3