View
29
Download
1
Category
Preview:
DESCRIPTION
OO implementieren. Teil II Objekte ergeben ein Ganzes. Das End-Produkt. Java-Applikation Texteingabe die in einer Datei gespeichert wird und beim Start wieder angezeigt wird Zu realisierendes Gebilde Die Anwendung. Die Teile. 4 existierende Bausteine GUI Graphische Oberfläche Text - PowerPoint PPT Presentation
Citation preview
INFORMATIK / TECHNIK
OO implementieren
Teil IIObjekte 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
© 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
© 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.
© 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
© 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
© 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
© 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
© 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
© 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);
© 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
© 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(){}}
© 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;….
© 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
© 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
© 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
© René Probst Modul 226 II - 17
INFORMATIK / TECHNIK
Merkblätter
O3 : Klassendiagramm O4 : Sequenzdiagramm J1 : Java-Programmstruktur J2 : Instanzierung
© 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“
Recommended