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?

  • initialisierung nur einmal möglich
  • bei Klassen auch im Konstruktor

Demo final Modifier

  • char gender
  • String firstName

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)

Wie kann man das realisieren?

  • Anzahl an Geschlechtern?
  • Welche Attribute sind interessant?
  • Wie kann eine andere Klasse ein Geschlecht verwenden?
  • 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

  • switch
  • 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

  • Java API
  • Enumerations
  • Activity Diagrams
  • Class Diagrams