Agenda

  • Wiederholung
  • Java API
  • final Modifier
  • Enumeration
  • Klassendiagramm
  • Aktivitätsdiagramm
  • Zusammenfassung

Wiederholung

Klasse

  • Abstraktion von Objekten
  • definiert durch Methoden und Attribute

Objekt

  • Instanz einer Klasse
  • Verhalten abhängig von der Instanz
  • ist eine Referenzvariable
  • hat den default Wert null

Modifiers

  • public & private
  • Getter und Setter
  • this
  • Überladen von Methoden
  • Konstruktor
  • static

Java API

Wrapper Klassen

public static void main(String[] args) {
  Integer i = Integer.valueOf("631");
  System.out.println(i) // 631;
  Boolean b = Boolean.logicalXor(true, false);
  System.out.println(b) // true
  Character c = Character.toUpperCase('m');
  System.out.println(c) // 'M'
}

Datums- und Zeitangaben

public static void main(String[] args) {
  LocalDateTime now = LocalDateTime.now();
  System.out.println("Jahr: " + now.getYear());
  System.out.println("Monat: " + now.getMonth());
  System.out.println("Tag: " + now.getDayOfMonth());
}

Dateien lesen*

public static void main(String[] args) {
  File file = new File("text.txt");
  Scanner scanner = new Scanner(file);
  while(scanner.hasNextLine()) {
    String currentLine = scanner.nextLine();
    System.out.println(currentLine);
  }
  scanner.close();
}

*NKR

final Modifier

Kann angewendet werden auf

  • Klassen (wird später behandelt)
  • Methoden (wird später behandelt)
  • Attribute
  • Variablen

Was bewirkt der final modifier?

  • Zuweisung nur einmal möglich
  • bei Attributen nur im Konstruktor

Demo - final Modifier

  • char gender
  • String firstName
  • Reference variable Human

Enumeration

Was ist eine Enumeration?

Gruppe von Konstanten

  • Geschlecht (Male, Female, Divers)
  • Motorart (Benzin, Diesel, Elektro)
  • Genre (Action, Horror, Romanze)
  • USK (0, 6, 12, 16, 18)

Enumeration implementieren

  • Welche Geschlechter?
  • Welche Attribute?
  • Wie kann immer das eine Geschlecht verwendet werden?
  • Wie keine weiteren Geschlechtinstanzen zulassen?
  • Wie die Manipulation existierender Geschlechtsinstanzen verhindern?

Geht das nicht einfacher?

  • enum anstatt class
  • Konstanten kommagetrennt festlegen
  • access modifier Konstruktor optional

Demo - Enumeration

  • Human with Gender property
  • switch - printGender
  • isBinary
  • values & ordinal

Klassendiagramm

Was sind Klassendiagramme?

  • Diagrammtyp der UML
  • visualisiert Klassen
  • und deren Beziehungen

Bereiche

  • Klassenname
  • Attribute
  • Methoden

Access Modifier

  • + entspricht public
  • - entspricht private
  • # entspricht protected
  • ~ entspricht packaged *

*NKR

andere Modifier

  • unterstrichene Attribute und Methoden sind static
  • weitere Merkmale durch geschweifte Klammern

Methoden

  • Modifier - Bezeichner - Parameter - Rückgabetyp

Attribute

  • Modifier - Bezeichner - Rückgabetyp - Anfangswert

Stereotypen

  • << enum >>
  • << interface >>
  • << exception >>

Beziehungen zwischen Klassen

  • Assoziation
  • Aggregation
  • Kompositon*

*NKR

Aktivitätsdiagramm*

*NKR

Was sind Aktivitätsdiagramme?

  • Diagrammtyp der UML
  • visualisiert Verhalten

Zusammenfassung

  • Java API
  • final modifier
  • Enumerations
  • Klassendiagramme
  • Aktivitätsdiagramme

Rest of the day