Javakurs für Anfänger

Ähnliche Dokumente
Javakurs für Anfänger

Javakurs für Anfänger

Vorlesung Programmieren

Javakurs für Anfänger

7. Objektorientierung. Informatik II für Verkehrsingenieure

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Javakurs für Anfänger

Algorithmen und Datenstrukturen 07

Javakurs für Anfänger

Einführung in die OOP mit Java

Javakurs für Anfänger

Unified Modelling Language

Tafelübung 07 Algorithmen und Datenstrukturen

Javakurs für Anfänger

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

UML -Klassendiagramme

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Vorkurs Informatik WiSe 15/16

Software Entwicklung 1

UML (Unified Modelling Language) von Christian Bartl

Javakurs für Anfänger

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Algorithmen und Datenstrukturen 06

Javakurs für Anfänger

Abschnitt 15: Unified Modeling Language (UML)

Programmieren in Java

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Klassen, Vererbung, Benutzereingabe

SE Besprechung. Übung 1 Programmverständnis, Dokumentation

Grundelemente objektorientierter Sprachen (1)

Informatik I Eprog HS12

Javakurs für Anfänger

Grundelemente objektorientierter Sprachen (1)

Javakurs für Anfänger

Objektorientierung. Objekte

10. Programmierungs-Phase: Objektorientierung Software Engineering

Herzlich willkommen!

Aufgabenblatt: OOP - Seite 1. (2.) Geometrie: Erstellen Sie eine Klasse CPyramid, die sich von der Klasse Square ableitet:

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

Klausur: Java (Liste P)

NACHRICHTENTECHNISCHER SYSTEME

Javakurs für Anfänger

Teil 2: Weitere Aspekte der Objektorientierung

Programmieren in Java

Algorithmen und Datenstrukturen 07

Grundelemente objektorientierter Sprachen (1)

Objektorientiertes Programmieren (Java)

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Grundlagen der Informatik 0

Die Unified Modeling Language (UML)

UML Eine kurze Einführung

Objektorientierte Programmierung Studiengang Medieninformatik

Methoden und Wrapperklassen

Informatik I Eprog HS11

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode

Informatik I Eprog HS10

UML Eine kurze Einführung

Javakurs für Anfänger

Software Entwicklung 1

Javakurs für Anfänger

Java Grundlagen 2 - OOP

Objekte und Klassen. INE2 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert, E.

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Software- und Systementwicklung

7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Programmiertechnik Objektorientierung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Sortieren von Objekten

Kapitel

Vorlesung Informationssysteme

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

Javakurs für Fortgeschrittene

Programmierung Nachklausurtutorium

Klassen in Java Software Entwicklung 1

Programmieren in Java

Objektorientierte Programmierung Studiengang Medieninformatik

Aufgaben NF 11; Seite 1

Umsetzung einer Klassenkarte in einer Programmiersprache

Transkript:

Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm Vererbung, Implementierung und Beziehungen Beispiel 2. Teil: Die Java API Dokumentation Überblick Verwendung Beispielklassen: String und Random Praxis: Klassendiagramm implementieren Eingabe auf Zeit Lernziele Einführung in UML Sequenz- und Klassendiagramme lesen und umsetzen können Mit der Java API Dokumentation arbeiten lernen 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 2

UML (Unified Modeling Language): Grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software/Systeme Standardisiert nach ISO Vereint eine Menge an Diagrammen (für verschiedenste Zwecke) Klassen- Objekt- Sequenz- Aktivitäts- -Diagramm Teil1: Einführung in UML Wir beschränken uns hier im weiteren Verlauf auf Sequenzdiagramme und Klassendiagramme zur Veranschaulichung der Eigenschaften, Verhalten und Zusammenhänge unserer Klassen 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 3

UML-Sequenzdiagramme: Überblick Das Sequenzdiagramm: Ist ein Verhaltensdiagramm Beschreibt den Austausch von Nachrichten bzw. Methodenaufrufe zwischen Klassen und/oder Objekten Klassen/Objekte werden nebeneinander dargestellt Besitzen eine nach unten gerichtete Zeitlinie Objekte haben Namen und einen Typ Klassen haben nur den Klassennamen und reagieren auf (statische) Klassenmethoden Klassen/Objekte können einen Aktivitätsbalken besitzen, der die Methodenausführung beschreibt Gängige Interaktionen: obj_name: Typ obj_name: Typ Aktivitätsbalken methodenname(argumente) Oder: methodenname bzw. methodenname() Statische_methodenname(Arg_name: Arg_typ) eigenemethode(argumente) return bzw. return Ergebnis Oder: :returntyp 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 4

Beispiel aus der 2. Kursstunde: UML-Sequenzdiagramme: Beispiel main(args: String[]) Autohaus <<create>> <<create>> bremsen fiatpunto:auto mercedes:auto return bremsen return <<return>> main 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 5

UML Klassendiagramme: Überblick Beispiel aus der 2. Kursstunde: Attributname Attributtyp - name : String - preis : int Auto + fahren (a: String, b: String ) + bremsen (): boolean Klassenname Attribute Methoden Rückgabetyp Autohaus Sichtbarkeitsbereich: - private + public # protected Methodenname Parameter name: typ + main(args: String[]) Statische Methode main(string[] args) 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 6

Darstellung der Vererbung: UML Klassendiagramme: Vererbung Geometirsche2dFigur Kreis Quadrat Rechteck Tier {abstract} Hund Katze Elefant 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 7

UML Klassendiagramme: Implementierung Darstellung der Implementierung: <<Interface>> Auto + bremsen() + fahren() AutoImpl + bremsen() +fahren() 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 8

UML Klassendiagramme: Beziehungen (Assoziation) Quelle: https://homepages.thm.de/~hg11260/mat/uml.pdf Quelle: https://de.wikipedia.org/wiki/assoziation_(uml)#komposition Ein Gebäude besteht aus mindestens einem Raum. Ein Raum gehört genau zu einem bestimmten Gebäude. Stürzt das Gebäude ein, ist auch der Raum kaputt. (Gleiche Lebensdauer) Eine Vorlesung hat immer mind. 3 Studenten. Ein Student kann in keiner oder mehreren Vorlesungen sein. Studenten haben längere Lebensdauer als Vorlesung 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 9

UML Klassendiagramme: Beispiel Quelle: http://www.adolf-reichwein-schule.de/uploads/pics/umlstack.png 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 10

Aufgabe zu UML Setzten Sie in Ihrem Eclipse-Projekt Uebung12 zunächst folgendes Klassendiagramm um: <<interface>> Iverwaltung + add(p: Person) + remove(p : Person) + clear() VerwaltungImpl - personenliste: ArrayList<Person> - verwalter: Verwalter + VerwaltungImpl(v: Verwalter) + add(p: Person) + remove(p : Person) + clear() + main(args: String[]) 0 * 0 * 1 Person - name: String - vorname: String - alter: int - verwaltet: boolean + Person(name: String, vorname: String, alter: int) + getname(): String + getvorname(): String + getalter(): int + setverwaltet(b:boolean) + getverwaltet(): boolean - position: String Verwalter + Verwalter(name: String, vorname: String, alter: int) + setposition(pos: String) + getposition(): String add(): Fügt eine Person zur Liste hinzu. Das Flag verwaltet wird auf true gesetzt. remove(): Entfernt die entsprechende Person aus der Liste. Das Flag wird auf false gesetzt. clear(): Löscht alle Einträge aus der Liste. Setzt das Flag bei der gelöschten Person auf false. 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 11

Aufgabe zu UML Führen Sie nun die Aktionen gemäß des folgenden Sequenzdiagramms aus: VerwaltungImpl main(args: String[]) <<create>> hans:verwalter setposition( Verwalter ) new VerwaltungImpl(hans) new Person( Hannes, Markus,33) new Person( Strass, Maria,26) add(p1) verwaltung: VerwaltungImpl setverwaltet(true) p1:person p2:person add(p2) setverwaltet(true) remove(p1) setverwaltet(false) <<return>> main 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 12

Teil 2: Kurze Einführung in die Java API-Dokumentation Zu finden unter: http://docs.oracle.com/javase/8/docs/api/ 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 13

Nutzen Sie die Java API-Dokumentation und machen Sie sich zusätzlich mit folgenden Java-Klassen vertraut: Java.time.Instant Aufgabe mit Java API Dokumentation Java.time.Duration Nutzen Sie nun die beiden Klassen und schreiben Sie ein Programm Eingabetest in Ihrem Eclipse Projekt Uebung12 : Ein Dialogfeld (JOptionPane.showInputDialog) soll den Anwender auffordern den Text: Fischers Fritze fischt frische Fische einzugeben. Ihr Programm soll anschließend prüfen, ob der eingegebene Text mit dem Text Fischers Fritze fischt frische Fische genau übereinstimmt und wie lange der Anwender für die Eingabe gebraucht hat. Sie brauchen also 2 Zeitstempel (vor und nach der Eingabeaufforderung) Benutzen Sie hierfür die beiden Klassen Instant und Duration aus der Java API Falls die Eingabe korrekt war, soll ein entsprechender Text ausgegeben werden: Fehlerfrei! Zeit: <Benötigte Sekunden> Sekunden Falls die Eingabe nicht korrekt war, soll Leider falsch! ausgegeben werden. 21.01.2016 Javakurs 12: UML und Java API - Lorenz Schauer 14