Einführung in die OOP mit Java

Ähnliche Dokumente
UML -Klassendiagramme

UML (Unified Modelling Language) von Christian Bartl

NACHRICHTENTECHNISCHER SYSTEME

Vorlesung Programmieren

Algorithmen und Datenstrukturen 06

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

Unified Modeling Language 2

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

Vorlesung Programmieren

Unified Modelling Language

Javakurs für Anfänger

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

Unified Modeling Language (UML)

UML Eine kurze Einführung

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

Das umfassende Handbuch

UML Eine kurze Einführung

Von der UML nach C++

Techniken der Projektentwicklungen

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

UML - Objektdiagramme

Klassendiagramm. (class diagram)

Algorithmen und Datenstrukturen 07

UML 2.0 Das umfassende Handbuch

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Software Engineering Klassendiagramme Einführung

Überblick. Überblick zum weiteren Inhalt

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Die Unified Modeling Language UML

Programmieren in Java

INSPIRE - Modellierung

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Instanz ist objeket einer klasse. bsp: elefant Name gewicht alter Frisst scheißt fliegt. Assoziation haben?

Analyse und Modellierung von Informationssystemen

Einführung in die objektorientierte Programmierung

Kurzeinführung in UML

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

3. Konzepte der objektorientierten Programmierung

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Vererbung, Polymorphie

Themen. Unified Modelling Language (UML) Assoziation. Aggregation. Komposition

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Unified Modeling Language (UML )

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

Einführung in die Programmierung

4. AuD Tafelübung T-C3

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

Beziehungen zwischen Objekten

Humboldt-Universität zu Berlin Wintersemester 2010/11 Institut für Informatik Grundlagen der Programmierung. 6. Übungsblatt

1. Grundlegende Datentypen

Assoziation und Aggregation

11. Java Klassen. Klassen - Technisch. Klassen - Beispiel: Erdbebendaten. Klassen - Konzeptuell

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

Sommersemester Implementierung I: Struktur

Java: Vererbung. Teil 3: super()

Vgl. Oestereich Kap 2.4 Seiten

Requirements Engineering I

Einstieg in die Informatik mit Java

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Programmieren in Java

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

Thema 3 Das UML- Metamodell

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

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

II.4.5 Generische Datentypen - 1 -

Objektorientiertes Design

Selbststudium OOP4 Auftrag

UML. Weiteres Vorgehen im Projekt

Abschnitt 15: Unified Modeling Language (UML)

Interaktionsdiagramme in UML

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

Analyse und Modellierung von Informationssystemen

4. Vererbung Die Klasse Object. Die Klasse Object

Software Engineering, SoSe 07, WSI, D. Huson, May 7,

1 Klassen und Objekte

Vorlesung "Software-Engineering"

UML 1.4 Referenz. Matthias Niete Dirk M. Sohn Orientation in Objects GmbH Weinheimer Str Mannheim

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

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

Programmieren II. Abstrakte Klassen, Interfaces Heusch 13.8, 13.9 Ratz Institut für Angewandte Informatik

3 Objektorientierte Konzepte in Java

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

7. Übung Informatik II - Objektorientierte Programmierung

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Arten von Klassen-Beziehungen

Einführung in die Programmierung mit Java. Hörsaalübung

Informatik II Übung, Woche 17

Java Einführung Methoden in Klassen

Objektorientierte Softwareentwicklung

Übungen Softwaretechnik I

Software-Engineering

Objektorientiertes Design

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Einstieg in die Informatik mit Java

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Transkript:

Einführung in die OOP mit Java Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/HTI 2011 by MOU2/TI Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI

Beziehungen zwischen Klassen, Packages, UML Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-2

Beziehungen zwischen Klassen Vererbung Beziehung: "Ist ein" ("est un") Beschreibung: Die Beziehung entsteht durch Vererbung. Man sagt, B ist ein A wenn B von A abgeleitet wird. Beispiele: Ein Kreis ist ein geometrisches Objekt. A B Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-3

Codebeispiel Vererbung public class Circle extends GeomObj { Beispiele: Circle cir = new Circle(); GeomObj gobj = new GeomObj(); GeomObj Circle cir instanceof GeomObj == true ABER: gobj instanceof Circle!= true GeomObj gobj = new Circle(); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-4

Beziehungen zwischen Klassen Aggregation Beziehung: "hat ein" ("contient") Ein Objekt der Klasse B ist Teil eines Objektes der Klasse A, existiert aber unabhängig vom Objekt der Klasse A. Beispiel: Ein Student hat einen Taschenrechner. A B Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-5

public class A { protected B myb; Codebeispiel Aggregation A B A(B attb){ // Konstruktor System.out.println("Konstruktor Klasse A"); myb = attb; // Aggregation protected void Method_A(){ System.out.println("Method_A aufgerufen"); myb.method_b(); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-6

Codebeispiel Aggregation.. B b = new B(); A a = new A(b);.. a = null;.. A B Objekt b existiert weiter, auch wenn Objekt a zerstört wird! Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-7

Beziehungen zwischen Klassen Komposition Beziehung: "hat ein" ( possède") Ein Objekt der Klasse B ist Teil eines Objektes der Klasse A und existiert nur solange das Objekt der Klasse A existiert. Beispiel: Ein Baum hat eine Wurzel und einen Stamm. A B Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-8

public class A { protected B myb; Berner Fachhochschule Codebeispiel Komposition A(){ // Konstruktor System.out.println("Konstruktor Klasse A"); myb = new B(); // Komposition protected void Method_A(){ System.out.println("Method_A aufgerufen"); myb.method_b(); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-9

Codebeispiel Komposition.. A a = new A();.. a = null;.. A B Objekt b wird innerhalb von A instanziert und existiert solange wie Objekt a lebt. Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-10

Beziehungen zwischen Klassen Assoziation Beziehung: "benutz ein" ("utilise") Eine Assoziation ist eine lockere, inhaltliche Beziehung zweier Klassen. Beispiel: Die Klasse GrafischesObjekt kann die Methode print() der Klasse Printer benutzen, um die Grafik auszudrucken. A B Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-11

public class A { A(){ Berner Fachhochschule Codebeispiel Assoziation // Konstruktor System.out.println("Konstruktor Klasse A"); protected void Method_A(){ System.out.println("Method_A aufgerufen"); B be = new B(); // Assoziation be.method_b(); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-12

Übung Klassendiagramm Beziehungen zwischen Klassen Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-13

public class Animal { protected Chien chien; Codebeispiel Klasse Animal Animal(Chien chien) { this.chien = chien; // Aggregation protected void dormir() { Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-14

public class Chien { protected Berger berger; Chien (Berger berger) Codebeispiel Klasse Chien { this.berger = berger; // Aggregation public void occuper() { Ecuelle ecuelle = new Ecuelle(); // Association ecuelle.verser("viande"); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-15

public class Berger { Codebeispiel Klasse Berger protected Mouton mouton; protected Chien chien; Berger() { chien = new Chien(this); mouton = new Mouton(chien); public void garder() { // Komposition // Komposition public static void main(string[] args) { Berger berger = new Berger(); Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-16

Codebeispiel Klasse Mouton public class Mouton extends Animal { Mouton(Chien chien) { super(chien); public void brouter() { Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-17

public class Ecuelle { Ecuelle() { Codebeispiel Klasse Ecuelle public void verser() { Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-18

UML Unified Modelling Language (UML) Methode um beliebige Systeme (nicht nur Softwaresysteme) formal zu beschreiben verschiedene Sichten (Blickwinkel) auf ein System: Sicht auf die statische Programmstruktur Klassendiagramme, Paket-Diagramme Sicht auf das dynamische System Zustandsdiagramme, Sequenzdiagramme Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-19

UML Elemente - Klassen Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-20

UML Elemente - Objekte Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-21

UML Elemente - Notizen Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-22

UML Elemente - Vererbung Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-23

UML Elemente - Assoziationen Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-24

UML Elemente - Assoziationen Beispiel: Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-25

UML Elemente - Multiplizität Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-26

UML Elemente - Aggregation Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-27

UML Elemente - Komposition Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-28

Objekt-Diagramme Ein Objektdiagramm zeigt die Beziehungen und den Zustand einer Menge von Objekten zu einen bestimmten Zeitpunkt Ein Objektdiagramm wird verwendet, um eine statische Momentaufnahme (Instanz) eines Klassendiagramms darzustellen Für ein allgemeines Klassendiagramm existieren beliebig viele Objektdiagramme, deshalb werden meist nur besonders interessante oder prototypische dargestellt Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-29

Objekt-Diagramm Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-30

Paket-Diagramme Ein Paketdiagramm zeigt die verschiedenen Pakete (Subsysteme, Module) eines Systems und ihre Abhängigkeit untereinander Paketdiagramme werden häufig für eine Übersichts- darstellung in einer Architekturbeschreibung verwendet Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-31

Package-Diagramme Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-32

Sequenz- und Kollaborationsdiagramme Ein Sequenzdiagramm zeigt die Interaktionen zwischen einer Anzahl von Objekten, wobei die zeitliche Abfolge der ausgetauschten Nachrichten hervorgehoben wird Ein Kollaborationsdiagramm zeigt, wie das Sequenzdiagramm, die Interaktionen zwischen einer Anzahl von Objekten, wobei die Organisation der beteiligten Objekte hervorgehoben wird Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-33

Sequenzdiagramme Objekt 1 Konstruktion des Objekts Beschreibung kann hier am Rand erfolgen new() nachricht() Objekt 2 Objekt ist aktiv antwort() Lebenslinie delete() Destruktion des Objekts Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-34

Sequenzdiagramme Kollaborationsdiagramme Module Students Prof Room 1.1: getaddress() Students getmoduleinfo() getaddress() 1: getmoduleinfo() Module 1.2: getname() Prof getname() getinfo() 1.3: getinfo() Room Zeitlicher Verlauf steht im Vordergrund. Zusammenarbeit der Objekte steht im Vordergrund. Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-35

Für die Prüfung: UML im Kurs OOP mit Java Klassendiagramme inkl. Assoziationen und Multiplizitäten Für das Projekt: Klassendiagramme inkl. Assoziationen und Multiplizitäten Ev. Sequenzdiagramme Ev. Paketdiagramme UML-Editoren: AgroUML (http://argouml.tigris.org) Violet UML Editor (http://sourceforge.net/projects/violet/) Einführung in die OOP V3.0 2011 by WBR1/MOU2 BFH-TI Folie 3-36