diff --git a/enums.md b/enums.md new file mode 100644 index 0000000..836acbb --- /dev/null +++ b/enums.md @@ -0,0 +1,63 @@ + + +# Enums +Enums sind besondere Arten von Klassen, die eine Gruppe von Konstanten repräsentieren. + +--- + +## Deklaration + +```java +enum Direction { + NORTH, + EAST, + SOUTH, + WEST +} +``` + +--- + +## Benutzung + +```java +Direction artic = Direction.NORTH; +``` + +oder + +```java +import static Direction.*; +... +Direction malle = SOUTH; +``` + +--- + +## Methoden + +Da Enums Klassen sind können sie auch Methoden deklarieren. + +```java +enum Direction { + NORTH, + EAST, + SOUTH, + WEST + + public String ascii() { + switch(this) { + case NORTH: return "^\n|"; + case EAST: return "->"; + case SOUTH: return "|\nv"; + case WEST: return "<-"; + } + } +} +``` diff --git a/img/Barn-Generics.png b/img/Barn-Generics.png new file mode 100644 index 0000000..ddc56c6 Binary files /dev/null and b/img/Barn-Generics.png differ diff --git a/img/farm_diagramm.svg b/img/farm_diagramm.svg new file mode 100644 index 0000000..663aa7d --- /dev/null +++ b/img/farm_diagramm.svg @@ -0,0 +1,3 @@ + + +*1
contains
contains
Animal{abstract}- age: int- health: doublemakeNoise : StringgetAge : intgetHealth : doubleisAlive : booleanisAdult : booleansleepdamage (amount: double)feed (amount: double)
Sichtbarkeiten
+ public 
# protected
~ package
- private
Sichtbarkeiten...
*1
contains
contains
Shepherd- animals: List<Animal>feedAllsendToSleepHerd- hashTable: Animal[][]- amountOfElements: intadd (element: Animal)contains(animal: Animal): booleanSheepmakeNoise : StringCowmakeNoise : String
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/klassendiagramm.md b/klassendiagramm.md new file mode 100644 index 0000000..9bf241d --- /dev/null +++ b/klassendiagramm.md @@ -0,0 +1,16 @@ + + +# UML-Klassendiagramme +**Unified Modeling Language (UML)** gibt viele verschiedene Definitionen von Diagrammen für die Nutzung in der Informatik vor. Darunter auch für Klassen. + + +--- + +![bg 70%](https://git.haw-hamburg.de/pm1-tutorium/slides/-/raw/master/img/farm_diagramm.svg) + diff --git a/methoden.md b/methoden.md index 533477e..0508b41 100644 --- a/methoden.md +++ b/methoden.md @@ -45,13 +45,13 @@ Methoden werden über ihren Identifier aufgerufen. Alle deklarierten Parameter * ```java public void main(String[] args) { - int sides = 10; - int area = getSpuareArea(sides); + int radius = 10; + double area = getCircleArea(radius); System.out.printf("The area of the square is %d", area); } public double getCircleArea(double radius) { - int result = 3.141 * radius * radius; + double result = 3.141 * radius * radius; return result; } ``` diff --git a/termin-10.md b/termin-10.md new file mode 100644 index 0000000..22cc647 --- /dev/null +++ b/termin-10.md @@ -0,0 +1,51 @@ + + +# Tutorium Termin 10 +* Gitlab (Folien-Quellcode) https://git.haw-hamburg.de/pm1-tutorium/slides +* Lösungen der Aufgaben https://git.haw-hamburg.de/pm1-tutorium/code + +--- + +# Ablauf + +- Fragen +- Online-Fragen +- Themen + * UML-Klassendiagramme + * Dynamic Stack + * Enums + +--- + +# Fragen + +--- + +# Online Fragen +arsnova.eu/mobile + +Code: 13 84 44 10 + +--- + +# Implementierung StringStack + +- Wir wollen zuerst gemeinsam und dann einzeln die Klasse `StringStack` implementieren + +- Ein `StringStack` besteht aus mehreren `StringNode`s, die einen `String` und den nachfolgenen `StringNode` halten + +- Methoden: `push(String)`, `boolean isEmpty()`, `String pop()`, `String top()`, `int getDepth()` und `boolean contains(String)` + +--- + +# Angebot: Übungsaufgaben ViaMint + +- auf viamint.haw-hamburg.de (Anmeldung mit aKennung) + +- E-Assessment -> Programmieren 1 Tutorium (SHF) -> Termin10 \ No newline at end of file diff --git a/termin-11.md b/termin-11.md new file mode 100644 index 0000000..d82169e --- /dev/null +++ b/termin-11.md @@ -0,0 +1,43 @@ + + + +# Tutorium Termin 11 +* Gitlab (Folien-Quellcode) https://git.haw-hamburg.de/pm1-tutorium/slides +* Lösungen der Aufgaben https://git.haw-hamburg.de/pm1-tutorium/code + +--- + +# Ablauf + +- Fragen +- Online-Fragen +- Themen + * Generizität + +--- + +# Fragen + +--- + +# Online Fragen +arsnova.eu/mobile + +Code: 47 49 74 97 + +--- + +- Implementiere das Softwaresystem aus dem Klassendiagramm. +- Tiere aus der `Barn` sind `300 Money` wert, Tiere aus der `FreeRangeBarn` das doppelte. +- Füge ein `Chicken`hinzu und ändere die Geräusche der Tiere: + - `Cow` = `Moo` + - `Sheep` = `Baa` + - `Chicken` = `Bok Bok` + +![bg right:50% 90%](https://git.haw-hamburg.de/pm1-tutorium/slides/-/raw/master/img/Barn-Generics.png)