Java Einführung Objektorientierte Grundkonzepte



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

Orientierte Modellierung mit der Unified Modeling Language

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

Kurzeinführung in UML

UML (Unified Modelling Language) von Christian Bartl

Objektorientierte Modellierung (1)

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Programmiertechnik Objektorientierung

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

Objektorientierte Analyse (OOA) Strukturmodellierung

7. Objektorientierung. Informatik II für Verkehrsingenieure

Geoinformation I Datenmodellierung

Übungen Softwaretechnik I

Grundlagen der UML-Modellierung. Modellierung. Elena Paslaru Seminar Praktische Modellierung SS

Realität zu modellieren eine

Objektorientierte Programmierung (OOP)

Vorlesung Programmieren

Einführung in die Programmierung

Grundkurs C++ Einführung

Java-Programmierung mit NetBeans

Grundkurs C++ Einführung

Einführung in die Objektorientierung (OO)

Java, OO und UML Fortsetzung

11/2009 Bernhard Gangl. Steuerungen mit OOP entwickeln 11 / Themenübersicht. Übersicht und Begriffsklärung: Objektorientierte Programmierung

Systemanalyse. - Folien zur Vorlesung für AI3 im Sommersemester Teil 5 -

Einführung in die objektorientierte Programmierung

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl

SWE1 / Übung 9 ( )

Unified Modeling Language 2

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Einführung in die Informatik

4. Mentorium. UML-Modellierung (Lösungshinweise)

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

NACHRICHTENTECHNISCHER SYSTEME

Abschnitt 15: Unified Modeling Language (UML)

Java Einführung Vererbung und Polymorphie. Kapitel 13

Assoziationen in Java

Rückblick: Entity-Relationship-Modell

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

Java für Bauingenieure

FACHHOCHSCHULE MANNHEIM

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Modellierung und Programmierung 1

UML -Klassendiagramme

PYTHON. 06 Objektorientierung II

Unified Modeling Language (UML )

Objektorientierte Programmierung OOP

Programmierparadigmen

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Begriffe 1 (Wiederholung)

Informatik I - Programmierung Globalübung Objektorientierung. Objektorientierung Konzepte & Notationen

Einführung in die Programmierung

Teil 2: OOP und JAVA (Vorlesung 11)

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

Die Unified Modeling Language (UML)

Oracle JDeveloper 10 g

Vorlesung Informationssysteme

Objektorientierte Programmierung III

Teil II: OOP und JAVA (Vorlesung 9)

Analyse und Design mituml2

Objektorientierte Softwareentwicklung

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

UML. Weiteres Vorgehen im Projekt

Objektorientierte Softwareentwicklung

UML Eine kurze Einführung

Muster in der Software Technik. Grundlegende Konzepte der Software Entwicklung und Objekt Orientierung

Kapitel

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

Objektorientierung. Objekte

Vererbung P rogram m ieren 2 F örster/r iedham m er K apitel 11: V ererbung 1

ÜBUNGEN ZUR OBJEKTORIENTIERTEN MODELLIERUNG

Software-Engineering im Sommersemester 2014

Objektorientierter Softwareentwurf mit UML. Grundlagen. Ricardo Hernández Garcia. 3. Ausgabe, November 2012 PGOS

Analyse und Design mituml2.1

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

2. Vererbung und Kapselung

UML. Tutorium 1 2. März 2009

Dr. Beatrice Amrhein. April 13

Objektorientierte Analyse am Beispiel Silent Kitchen Company

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Objektorientierte Systementwicklung

Skriptum Bauinformatik SS 2013 (Vorlesung III)

Java Einführung. Teil 2: Objektorientierung. Michael Hahsler

Modellierung und Programmierung 1

Ein Vortrag von Markus Durzinsky Student der Otto-von-Guericke-Universität Magdeburg

Kapitel 2 - Die Definitionsphase

Transkript:

Java Einführung Objektorientierte Grundkonzepte

Inhalt Verständnis der grundlegenden Konzepte der Objektorientierung: Objekte Nachrichten Kapselung Klassen und Instanzen Vererbung Polymorphismus Darstellung in UML 2

Objekte Dinge aus der realen Welt (Gegenstände, Personen, Rechte,...) Haben eine Identität und besitzen: Eigenschaften (Attribute) Verhalten (Operationen) Kommunizieren mit anderen Objekten durch Nachrichten 3

Nachrichten und Methoden Nachrichten sind Signale von einem Objekt an ein anderes. Nachrichten lösen Verhalten (Operationen) des anderen Objekts aus. Nachricht trinken (einen Schluck) Michael 1. Dose 4

Kapselung (Encapsualtion, Data Hiding) Objekte können Attribute und Operationen (und damit Komplexität) verbergen. Operationen werden vor dem Zugriff von außen geschützt. Die allgemein zugänglichen Operationen nennt man Interface Wieviel Flüssigkeit ist in dieser Dose? Kann jeder diese Dose verschließen? 5

Klassen (-definition) Bauplan für ähnliche Objekte. Beschreibt Operationen und Attribute die eine Instanz bekommt. Instanzen werden aus Klassen erzeugt Instanzierung Volumen = x Klassendefinition Instanz Nr. 1 Instanz Nr. 2 6

Generalisierung, Vererbung (Inheritance) Hierarchische Beziehung zwischen Klassen mit ähnlichen Eigenschaften. Kinder (Subklassen) erben die Eigenschaften von Eltern (Superklassen). Stellt ein gemeinsames Interface sicher. Behälter Ich kenne das Interface eines Behälters (Superklasse) Dose Häferl Gießkanne Subklassen erben, erweitern oder überschreiben Eigenschaften 7

Polymorphismus (Griechisch: Vielgestaltigkeit) Subklassen können auch als Instanz der Superklasse (Behälter) behandelt werden, da sie durch die Vererbung ein gemeinsames Interface haben. Behälter Dose Häferl Gießkanne Ich verwende einen Behälter Jede Art von Behälter hat das gleiche Interface. Einige Operationen reagiert aber bei unterschiedlichen Behältertypen ein bisschen anders! 8

Modellierung und Abstraktion Eigenschaften und Verhalten müssen modelliert werden. Modellierung ist Vereinfachung! Modellierung ist Einschränkung! Was ist das Wesentliche? Hängt vom Zweck ab! Ist diese Nutzung eines Häferls durch das Modell vorgesehen? 9

Vorteile der Objekt-Orientierung Objekte in Programmen entsprechen realen Objekten (von Analyse bis zur Implementierung) Modularität durch die Kapselung in Objekte Wiederverwendung von Objektbibliotheken (Interfaces) Geringere Kosten bei Wartung weil der Programmcode übersichtlicher wird. 10

Die Unified Modeling Language UML ist eine von der OMG standardisierte Notation zur Darstellung und Entwicklung von objekt-orientierten Systemen Die Notation enthält unter anderem Diagramme für die Beschreibung von: Anforderungen (Use Case Diagram) Verhalten/Ablauf (Sequence D., Communication D.) Logischer Aufbau des Systems (Klassendiagramm) 11

Darstellung von Klassen in UML Diagrammen Klassen sind die Baupläne für Objekte (Instanzen) Darstellung in UML Klassenname Beispiel einer Klasse in UML PKW oder Klassenname Attribute Methoden Farbe Leistung Geschwindigkeit... Beschleunigen() Bremsen() Lenken()... Klasse W59777: PKW Rot 50km Objekte (Instanzen) 12

Elemente Klassendiagramm I Klassen Klassenname Beziehungen (Paths/Associations): für die Übermittlung von Nachrichten (Messages = Aufruf von Methoden) Klasse A spricht mit Klasse B Richtung der Beziehungen (Navigability): Nachrichten können nur in diese Richtung gehen Klasse A spricht mit Klasse B 13

Elemente Klassendiagramm II Kardinalitäten (Multiplicity): Anzahl der möglichen Instanzen Klasse A 1 spricht mit 0..* Klasse B Aggregation (Aggregation/Composition): Besteht-aus Beziehung Auto Generalisierung (Generalization): is-a Beziehung -> Vererbung in Java besteht aus 1 * Einzelteil Einzelteil Auto oder Einzelteil * Motor Karosserie... 14

Elemente Klassendiagramm III Abhängigkeiten (Dependencies) Klasse A benötigt Klasse B Anmerkungen oder Einschränkung PKW ist nur fahrttüchtig mit: Räder, Karosserie,... PKW 15

Beispiel: Klassendiagramm PKW ist nur fahrttüchtig mit: Räder, Karosserie,... PKW 0..* verwendet 1 besteht aus 1 * Motor Einzelteil Karosserieteil... Fahrzeughalter 1 besteht aus 4 Zylinder 16

Was Sie nach dieser Einheit wissen sollten... Was sind Objekte, Instanzen und Klassen? Was sind die wichtigsten Konzepte der Objektorientierung und was bedeuten Sie? Wie werden Klassen in UML Klassendiagrammen dargestellt? 17