Top Banner
IN FO R M A TIK /TEC H N IK OO implementieren Teil II Objekte ergeben ein Ganzes
18

OO implementieren Teil II Objekte ergeben ein Ganzes.

Apr 05, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OO implementieren Teil II Objekte ergeben ein Ganzes.

INFORMATIK / TECHNIK

OO implementieren

Teil IIObjekte ergeben ein Ganzes

Page 2: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 2

INFORMATIK / TECHNIK

Das End-Produkt

Java-Applikation● Texteingabe die in einer Datei gespeichert wird und

beim Start wieder angezeigt wird● Zu realisierendes Gebilde

● Die Anwendung

Page 3: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 3

INFORMATIK / TECHNIK

Die Teile

4 existierende Bausteine● GUI

• Graphische Oberfläche

● Text• Textobjekt das angezeigt

bzw. gespeichert wird

● MyFileWriter• Schreibt Text in Datei

● MyFileReader• Liest Text aus Datei

Page 4: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 4

INFORMATIK / TECHNIK

Das Zusammenspiel der Komponenten

Wer muss wem welche Nachrichten bzw. Informationen zukommen lassen?

Welche Methoden stehen zur Verfügung?

GUI

Text

MyFileWriter MyFileReader

?

? ?

Schnittstelle zwischenden Komponenten mussbekannt sein.

Page 5: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 5

INFORMATIK / TECHNIK

Die Methoden

Datenaustausch erfolgt durch Nutzung der Methoden (Schnittstellen) der Komponenten

Die genauen Kenntnisse der Methoden ist unerlässlich, für die Nutzung einer Klasse!

GUI

+ GUI()+ update() : void# addUserPanel() : JPanel

Text

+ Text()+ setText() : void+ getText() : String

MyFileReader

+ MyFileReader()+ readText() : String

MyFileWriter

+ MyFileWriterI()+ writeText() : void

Page 6: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 6

INFORMATIK / TECHNIK

Die Java-API

API = Application Programers Interface● Beschreibung der Schnittstellen, die der Program-

mierer nutzen kann.

Java bietet WEB-Lösung

Liste derKlassen

Beschreibung der gewähltenKlasse

Übersicht Konstruktor

Übersicht Methoden

Es folgen detaillierte BeschreibungVon Konstruktor und Methoden

Page 7: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 7

INFORMATIK / TECHNIK

Klassendiagramm

Klassen und deren Abhängigkeit aufzeigen Darstellung in UML

● Klassen und Beziehungen• einseitig, doppelseitig• Kardinalität• Ausprägung usw.

GUI

+ GUI()+ update() : void# addUserPanel() : JPanel

Text

+ Text()+ setText() : void+ getText() : String

MyFileReader

+ MyFileReader()+ readText() : String

MyFileWriter

+ MyFileWriterI()+ writeText() : void

1 1

1

1

Page 8: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 8

INFORMATIK / TECHNIK

Der Ablauf

OO-Sprachen sind grundlegend imperative Sprachen● Das Programm besteht aus einer Folge von

AnweisungenBeteiligteObjekte

Kellner bitte!

Sie wünschen?

Menü 21 mal Menü 2

Aufruf vonMethoden

Rückgabe vonWerten

Page 9: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 9

INFORMATIK / TECHNIK

Sequenzdiagramm

Darstellung in UML● Sequenzdiagramm

res:Artikel-Reservation

b:Bestellung bPos:Bestell-Position

lager:Artikel-Lager

gibBestellPos()reserviere()

bPos

gibArtikel()

artikel

gibAnzahl()

anzahl

reserviereArtikel(artikel, anzahl)

ok

Page 10: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 10

INFORMATIK / TECHNIK

Referenzen

Objekte müssen sich kennen!● „Visitenkarte“ für die Kontaktaufnahme

Aufruf eines Objektes :● „Peter. Gib mir den Stift.“● lager.reserviereArtikel(artikel, anzahl)

Erzeugen einer Referenz durch Instanzierung● artikelLager = new ArtikelLager();

Bekanntmachen (2 Verfahren)● res = new ArtikelReservation (artikelLager);● res.setArtikelLager(artikelLager);

Page 11: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 11

INFORMATIK / TECHNIK

Ablauf der Erzeugung

Sinnvolle Reihenfolge der Objekterzeugung● Bottom-Up Verfahren

• Zuerst Objekte die nur einseitig referenziert sind• Danach in der Abhängigkeit aufsteigend

● Benutzen einer „Erzeuger-Klasse“ • Wiederverwendbarer Lösungsansatz Muster (Pattern)

:AppCreator

b:Bestellung

lager:Artikel-Lagernew ArtikelLager()

new Bestellung(lager)

lager

b

Page 12: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 12

INFORMATIK / TECHNIK

Der Konstruktor

Jede Klasse verfügt über einen Konstruktor● Beschreibt, wie die entsprechenden Objekte

aufzubauen sind.• Initialisieren von Werten• Einrichten von Beziehungen zu andern Objekten

● Wird durch eine andere Klasse oder die main-Methode aufgerufen.

● Heisst gleich wie die Klasse, hat aber (im Gegensatz zu Methdoen) keinen Datentyp

● In Java public class Test{ public Test(){}}

Page 13: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 13

INFORMATIK / TECHNIK

Umsetzung in Java

Java● OO-Sprache die an C angelehnte Strukturen aufweist● Benötigt eine Runtime für die Codeausführung

• Interpretierte Sprache mit einem Zwischencode (class-Datei)• Code läuft auf jedem System, wenn Runtime verfügbar ist

● Compiler für die Erzeugung des Zwischencodes● Entwicklungsumgebung mit Java-Library

• Pfad zu Java-Library in Umgebungsvariable einfügenPATH ….;C:\j2sdk1.4.2_07\bin;….

Page 14: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 14

INFORMATIK / TECHNIK

Java Projekt

Editor (EditPlus)

Compiler

Runtime

public class First{ public static void main(String[] args){ System.out.println(“\nHello World“); }}

C:\dir\javac First.java

C:\dir\java First

Page 15: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 15

INFORMATIK / TECHNIK

Literatur : Goll-Weiss-Müller

2.4 Erstes Programmbeispiel mit Objekten

3.3.2.1 Die Dokumetation der Java API 3.4 Programmerzeugung und -

ausführung 3.5 Das Java Development Kit 4.3 Erzeugen von Objekten 4.4 Initialisierung von Objekten mit

Konstruktoren

Page 16: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 16

INFORMATIK / TECHNIK

Stichworte (1)

APIhttp://de.wikipedia.org/wiki/Application_Programming_Interface

Java-API (Version 1.4.2)http://java.sun.com/j2se/1.4.2/docs/api/

Schnittstellehttp://de.wikipedia.org/wiki/Schnittstelle_%28objektorientierte_Programmierung%29

Imperative Programmierunghttp://de.wikipedia.org/wiki/Imperative_Programmierung

Deklarative Programmierunghttp://de.wikipedia.org/wiki/Deklarative_Programmierung

Sequenzdiagrammhttp://de.wikipedia.org/wiki/Sequenzdiagramm

Page 17: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 17

INFORMATIK / TECHNIK

Merkblätter

O3 : Klassendiagramm O4 : Sequenzdiagramm J1 : Java-Programmstruktur J2 : Instanzierung

Page 18: OO implementieren Teil II Objekte ergeben ein Ganzes.

© René Probst Modul 226 II - 18

INFORMATIK / TECHNIK

Übungen

2.1. : Java-API lesen 2.2. : Programmsequenz 2.3. : Ein einfaches Java Programm 2.4. : “Textverarbeitung“