aboutsummaryrefslogtreecommitdiff
path: root/Info
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-07-12 12:13:01 +0200
committerFlorian Fischer <florian.fischer@muhq.space>2024-07-12 12:13:01 +0200
commit0c7d36054209bffcc15f38a793da2ffae229f908 (patch)
tree0ae65454a59b4aebb353ca700e208968bb3a55c5 /Info
parentbd6321196f19a0768391500ff5afe4e9dc657045 (diff)
downloadunterricht-0c7d36054209bffcc15f38a793da2ffae229f908.tar.gz
unterricht-0c7d36054209bffcc15f38a793da2ffae229f908.zip
add my last lesson in 9B
Diffstat (limited to 'Info')
l---------Info/23_24/07/09/9B/img/greenfoot_buttons.png1
-rw-r--r--Info/23_24/07/09/9B/img/rennbahn.pngbin0 -> 14491 bytes
-rw-r--r--Info/23_24/07/09/9B/schedule.md26
-rw-r--r--Info/23_24/07/09/9B/slides.md175
4 files changed, 202 insertions, 0 deletions
diff --git a/Info/23_24/07/09/9B/img/greenfoot_buttons.png b/Info/23_24/07/09/9B/img/greenfoot_buttons.png
new file mode 120000
index 00000000..a1c2dfa2
--- /dev/null
+++ b/Info/23_24/07/09/9B/img/greenfoot_buttons.png
@@ -0,0 +1 @@
+../../../../../9/3/SpaceInvaders/img/greenfoot_buttons.png \ No newline at end of file
diff --git a/Info/23_24/07/09/9B/img/rennbahn.png b/Info/23_24/07/09/9B/img/rennbahn.png
new file mode 100644
index 00000000..95c7c7ef
--- /dev/null
+++ b/Info/23_24/07/09/9B/img/rennbahn.png
Binary files differ
diff --git a/Info/23_24/07/09/9B/schedule.md b/Info/23_24/07/09/9B/schedule.md
new file mode 100644
index 00000000..2c87b2ad
--- /dev/null
+++ b/Info/23_24/07/09/9B/schedule.md
@@ -0,0 +1,26 @@
+---
+lang: de
+geometry: margin=2cm
+---
+# 2. KA Verbesserung / OO-Modellierung
+
+* **Klasse**: 9B
+* **Datum**: 09.07
+
+## Lernziele
+
+## Verlaufplan
+
+---------------------------------------------------------------------------------------------------
+Zeit Phase Unterrichtsgeschehen Ziel Methode Medien
+----- --------------- -------------------------------------------- ----------- ---------- ---------
+30 KA
+
+5 Erarbeitung Modellierung
+
+10 Erarbeitung Modellierung
+
+10 Sicherung Konstruktor
+
+35 Übung Mini-Projekt Rennbahn
+---------------------------------------------------------------------------------------------------
diff --git a/Info/23_24/07/09/9B/slides.md b/Info/23_24/07/09/9B/slides.md
new file mode 100644
index 00000000..d20f010e
--- /dev/null
+++ b/Info/23_24/07/09/9B/slides.md
@@ -0,0 +1,175 @@
+---
+header-includes: |
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+---
+
+## Rennbahn
+\vspace{-0.75cm}
+![](img/rennbahn.png){.center}
+
+## \faIcon{pencil-alt} Arbeitsauftrag - Modellierung 5 min {.standout}
+
+Erstelle eine Klassendiagramm (mehrere Klassenkarten) zu allen Klassen, die du beim Rennen entdecken kannst.
+
+## Greenfoot und die geheimnisvollen Knöpfe
+
+![](img/greenfoot_buttons.png){.center}
+
+### Act
+
+Ruft die `act`-Methode jedes Actors [einmal]{.underline} auf.
+
+### Run
+
+Startet eine Wiederholug und ruft während jedem Schritt die `act`-Methode jedes Actors auf.
+
+## Von der Klassenkarte zum Code
+
+::: {.columns align=center}
+:::: {.column width=30%}
+\begin{tikzpicture}
+\begin{class}[text width=4cm]{Auto}{0, 0}
+\attribute{geschwindigkeit}
+\attribute{farbe}
+\operation{bewegen()}
+\end{class}
+\end{tikzpicture}
+::::
+
+:::: {.column width=60%}
+```java
+public class Auto // Klassendefinition
+{ // Attribute
+ int geschwindigkeit;
+ String farbe;
+
+ // Methoden
+ public void bewegen() {
+ ...
+ }
+}
+```
+::::
+:::
+
+## Von der Klasse zum Objekt
+
+::: {.columns align=center}
+:::: {.column width=45%}
+\begin{tikzpicture}
+\begin{class}[text width=4cm]{Auto}{0, 0}
+\attribute{geschwindigkeit}
+\attribute{farbe}
+\operation{bewegen()}
+\end{class}
+\end{tikzpicture}
+::::
+
+:::: {.column width=5%}
+\Large $\Rightarrow$
+::::
+
+:::: {.column width=45%}
+\pause
+\begin{tikzpicture}
+\begin{object}[text width=4cm]{a1: Auto}{0, 0}
+\attribute{geschwindigkeit = 2}
+\attribute{farbe = "blau"}
+\end{object}
+\end{tikzpicture}
+::::
+:::
+
+\vspace{1cm}
+\pause
+### \faIcon{lightbulb} Wo kommen die Attributwerte her?
+
+\pause
+Sie müssen beim Erzeugen eines Objekts angegeben werden.
+
+## Objekte erzeugen
+
+Objekte einer Klasse werden mit dem Schlüsselwort `new`{.java} erzeugt.
+
+\pause
+### \faIcon{pencil-alt} [Der Konstruktor]{.underline}
+
+>- **Methode** der Klasse, die beim Erzeugen ein neues Objekt aufgerufen wird.
+>- Heißt immer wie die Klasse.
+>- Hat [keine]{.underline} Angabe eines Rückgabetyps.
+
+\pause
+::: {.columns}
+:::: {.column width=35%}
+\vspace{0.5cm}
+\begin{tikzpicture}
+\begin{class}[text width=4cm]{Auto}{0, 0}
+\attribute{geschwindigkeit}
+\attribute{farbe}
+\operation{...}
+\end{class}
+\end{tikzpicture}
+::::
+
+:::: {.column width=65%}
+```java
+public class Auto {
+int geschwindigkeit; // Attribute
+int farbe;
+public Auto() { // Konstruktor
+ geschwindigkeit = 2;
+ farbe = "blau";
+}
+```
+::::
+:::
+
+## \faIcon{desktop} Arbeitsauftrag - Implementiere den Konstruktor der Klasse Auto 10 min
+
+\large
+* Kopiere das Greenfoot-Projekt **Rennbahn** aus dem Vorlagen-Laufwerk und öffne es in Greenfoot.
+* Ergänze den **Konstruktor** der Klasse `Auto`
+ * Der Konstruktor soll die `geschwindigkeit` auf 2 initialisieren
+* **Fuer Schnelle**:
+ Erzeuge ein Auto und eine Rakete im Konstruktor der Klasse `Rennbahn`.
+ Positioniere das Auto (`addObject(object, x, y)`{.java}) an Position $(90 | 700)$.
+ Positioniere die Rakete an Position $(220 | 700)$.
+
+## \faIcon{pencil-alt} Konstruktor \only<2->{mit Parametern}
+
+### \faIcon{lightbulb} Was wenn die Attributwerte nicht immer gleich sein sollen?
+
+\pause
+$\Rightarrow$ Wir können dem Konstruktor Parameter übergeben.
+
+\vspace{0.5cm}
+::: {.columns align=center}
+:::: {.column width=40%}
+\pause
+`new Auto(5, "gruen");`{.java}
+::::
+
+:::: {.column width=5%}
+\Large $\Rightarrow$
+::::
+
+:::: {.column width=45%}
+\pause
+\begin{tikzpicture}
+\begin{object}[text width=4cm]{a1: Auto}{0, 0}
+\attribute{geschwindigkeit = 5}
+\attribute{farbe = "gruen"}
+\end{object}
+\end{tikzpicture}
+::::
+:::
+
+## \faIcon{desktop} Arbeitsauftrag - `Auto` **Konstruktor** mit Parametern
+
+\large
+* Ergänze den Konstruktor der Klasse `Auto`:
+ * die Geschwindigkeit soll angegeben werden können
+ * die Farbe soll angegeben werden können
+* **Für Schnelle:** Implementiere eine neue Klasse `Bus` als Unterklasse von `Actor` mit Geschwindigkeit 1.