1 / 18

OO implementieren

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

aileen
Download Presentation

OO implementieren

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OO implementieren Teil II Objekte ergeben ein Ganzes

  2. Das End-Produkt • Java-Applikation • Texteingabe die in einer Datei gespeichert wird und beim Start wieder angezeigt wird • Zu realisierendes Gebilde • Die Anwendung Modul 226

  3. Die Teile • 4 existierende Bausteine • GUI • Graphische Oberfläche • Text • Textobjekt das angezeigtbzw. gespeichert wird • MyFileWriter • Schreibt Text in Datei • MyFileReader • Liest Text aus Datei Modul 226

  4. Das Zusammenspiel der Komponenten • Wer muss wem welche Nachrichten bzw. Informationen zukommen lassen? • Welche Methoden stehen zur Verfügung? GUI Schnittstelle zwischenden Komponenten mussbekannt sein. ? Text ? ? MyFileWriter MyFileReader Modul 226

  5. 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! MyFileReader + MyFileReader() + readText() : String GUI Text + GUI() + update() : void# addUserPanel() : JPanel + Text() + setText() : void + getText() : String MyFileWriter + MyFileWriterI() + writeText() : void Modul 226

  6. Die Java-API • API = Application Programers Interface • Beschreibung der Schnittstellen, die der Program-mierer nutzen kann. • Java bietet WEB-Lösung Beschreibung der gewähltenKlasse Liste derKlassen Übersicht Konstruktor Übersicht Methoden Es folgen detaillierte Beschreibung Von Konstruktor und Methoden Modul 226

  7. Klassendiagramm • Klassen und deren Abhängigkeit aufzeigen • Darstellung in UML • Klassen und Beziehungen • einseitig, doppelseitig • Kardinalität • Ausprägung usw. MyFileReader 1 + MyFileReader() + readText() : String Text GUI 1 1 + Text() + setText() : void + getText() : String + GUI() + update() : void # addUserPanel() : JPanel MyFileWriter 1 + MyFileWriterI() + writeText() : void Modul 226

  8. Der Ablauf • OO-Sprachen sind grundlegend imperative Sprachen • Das Programm besteht aus einer Folge von Anweisungen Beteiligte Objekte Kellner bitte! Sie wünschen? Aufruf vonMethoden Menü 2 1 mal Menü 2 Rückgabe vonWerten Modul 226

  9. Sequenzdiagramm • Darstellung in UML • Sequenzdiagramm res:Artikel-Reservation b:Bestellung bPos:Bestell-Position lager:Artikel-Lager reserviere() gibBestellPos() bPos gibArtikel() artikel gibAnzahl() anzahl reserviereArtikel(artikel, anzahl) ok Modul 226

  10. 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); Modul 226

  11. 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 lager:Artikel-Lager new ArtikelLager() lager new Bestellung(lager) b:Bestellung b Modul 226

  12. 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(){} } Modul 226

  13. 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;…. Modul 226

  14. 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 Modul 226

  15. 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 Modul 226

  16. 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 Modul 226

  17. Merkblätter • O3 : Klassendiagramm • O4 : Sequenzdiagramm • J1 : Java-Programmstruktur • J2 : Instanzierung Modul 226

  18. Übungen • 2.1. : Java-API lesen • 2.2. : Programmsequenz • 2.3. : Ein einfaches Java Programm • 2.4. : “Textverarbeitung“ Modul 226

More Related