Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML...

68
Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis 2007

Transcript of Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML...

Page 1: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

Einführung in Klassen, Objekte und in UML

Klassen und Objekte mit VBS

Modellierung mit UML

Anwendungsfälle mit COM Objekten

Java und BlueJ

Christoph Oberweis 2007

Page 2: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

2

Agenda

C.O.

Modelle und Modellierung Klassendiagramme VBScript Objekte erzeugen Component Object Model Anwendungsfalldiagramme Sequenzdiagramme Übungen Java Quellen

Page 3: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

3

Agenda

Modelle und Modellierung Klassendiagramme VBScript Objekte erzeugen Component Object Model Anwendungsfalldiagramme Sequenzdiagramme Übungen Java Quellen

C.O.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 4: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

4

Modelle: Vorwort

C.O.

Anwendungsprogramme und Objektorientierung

Erst durch eine geeignete Software kann der Computer Probleme der realen Welt lösen. Hintergrund einer betriebswirtschaftlich orientierten Software sind letztlich immer Ge -schäftsprozesse; dies gilt sowohl für Standardsoftware wie z. B. Officepakete als auch für Individualsoftware wie z. B. eine prozessorientierte Auftragsabwicklung eines Produktionsbetriebs.

Software bildet einen Ausschnitt der realen Welt in einer Modellwelt ab. Diese Modellwelt ist (im Gegensatz zur realen Welt) auf nur die Notwendigkeiten reduziert, die benötigt werden, um die jeweiligen Probleme der betrieblichen Wirklichkeit mit Hilfe von Computern zu lösen. Modellierung ist der Transfer eines Ausschnittes der realen Welt in ein Modell. Objekte der realen Welt (Kunde, Artikel usw.) und ihre Eigenschaften (Kundennummer, Artikelbezeichnung) werden modelliert – Ergebnis dieses Prozesses sind dann beispiels-weise Klassen inkl. ihrer Attribute und der ihnen zugeordneten Algorithmen (Methoden) in der Modellwelt, die dann wiederum zur Erzeugung von Objekten im Computer dienen. Der Begriff „Objekt“ ist nun allerdings als Fachbegriff der Informatik zu verstehen.

Sowohl bei der Softwareentwicklung als auch bei der Nutzung dieser (z. B. Officepaket) wird man (zumindest indirekt) mit Objektorientierung konfrontiert. Diese sollte im gymnasialen Oberstufenunterricht und in Informatik – Fachklassen auch als das zugrunde liegende Konzept thematisiert werden.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 5: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

5

Modelle und Modellierung

C.O.

Wirkliche Welt: Autohaus

Modell: Idealisierte Darstellung (Abbildung) der realen Welt zur Veranschaulichung bestimmter Sachverhalte/Eigenschaften/Prozesse, Vereinfachung der Realität

Das Foto ist farbig, hat einen bestimmten Maßstab, wurde aus einer bestimmten Perspektive aufgenommen usw.: Ikonisches Modell (bildhaft)

Funktion dieses Modells: Möglicherweise ein Foto für einen Zeitungsbericht

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 6: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

6

Fortschreitende Abstraktion

C.O.

Verzicht auf Details (Farbinformation usw.): Die Darstellung wird „ungenauer“, allerdings bleiben der Standort und die Silhouette der Fahrzeuge erkennbar.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 7: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

7

Analogmodell

C.O.

X X X X X X X X X X

X X X X X

Lageskizze der Stellplätze: Stark vereinfachte Karte, jedes abgestellte Fahrzeug wird zu einem „X“ („Analogie“, eine noch weiterer Abstraktion von der Wirklichkeit)

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 8: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

8

Eine weitere Betrachtungsweise

C.O.

Jedes Kfz ist individuell (Fahrzeugnummer).

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 9: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

9

Es gibt Gemeinsamkeiten

C.O.

Überlegung: Was haben alle Fahrzeuge gemeinsam:

Vier Räder, Lenkrad …

Überlegung: Was haben alle Fahrzeuge gemeinsam:

Vier Räder, Lenkrad …

Individuelles KFZ Individuelles KFZ Individuelles KFZ

„Abstraktes Fahrzeug“: Schablone, Bauplan für die realen Fahrzeuge

„Abstraktes Fahrzeug“: Schablone, Bauplan für die realen Fahrzeuge

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 10: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

10

Die Vorstufe einer Klasse

C.O.

Kfz

Hersteller: TextTyp: Text………Hubraum: Ganzzahl………Farbe: Text…….

Schablone, nach diesem „Bauplan“ können (fast) unendlich viele Fahrzeuge gebaut werden. Allerdings benötigt dieser Plan exakte Angaben zu den Details des Fahrzeugs.

Schablone, nach diesem „Bauplan“ können (fast) unendlich viele Fahrzeuge gebaut werden. Allerdings benötigt dieser Plan exakte Angaben zu den Details des Fahrzeugs.

So könnte der Bauplan formuliert sein: Zahlen und Texte als Informa-tionen zu den Eigenschaften des Fahrzeugs (Vorstufe einer Klasse).

(Eine Darstellung dieser Art wird in manchen Fachdisziplinen als symbolisches Modell bezeichnet.)

So könnte der Bauplan formuliert sein: Zahlen und Texte als Informa-tionen zu den Eigenschaften des Fahrzeugs (Vorstufe einer Klasse).

(Eine Darstellung dieser Art wird in manchen Fachdisziplinen als symbolisches Modell bezeichnet.)

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 11: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

11

Von der Schablone …

C.O.

Die Schablone definiert den Bauplan des Fahrzeugs (falls zusätzliche detaillierte Angaben vorliegen).

Eine KlasseModelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 12: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

12

… zum individuellen Kfz

C.O.

Und so soll das individuelle Kfz aussehen!

Das ObjektModelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 13: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

13

Andere Möglichkeit!

C.O.

Ein anderes „Individuum“.

Ein anders Objekt der gleichen KlasseModelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 14: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

14

Schritte der Modellierung

C.O.

WirklichkeitWirklichkeitModelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 15: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

15

Schritte der Modellierung

C.O.

WirklichkeitWirklichkeit

1.

Objekte, die offensichtlich den gleichen Bauplan haben, analysieren. (Hier: die Fahrzeuge, nicht die Fahnen, Verkehrs-schilder usw.) Welche gemeinsamen Eigenschaften mit individueller Ausprä-gung (wie Farbe, Fahrzeugnummer usw.) können diese Objekte besitzen?

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 16: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

16

Schritte der Modellierung

C.O.

WirklichkeitWirklichkeit

1.

Objekte, die offensichtlich den gleichen Bauplan haben, analysieren. (Hier: die Fahrzeuge, nicht die Fahnen, Verkehrs-schilder usw.) Welche gemeinsamen Eigenschaften mit individueller Ausprä-gung (wie Farbe, Fahrzeugnummer usw.) können diese Objekte besitzen?

2.

Übertragung in die Modellwelt

Individuelle Dinge wie z. B. Farbe = rot werden zu Attributen verallgemeinert.

Kfz

Hersteller: Text

Hubraum: Zahl

…….

Kfz: Bauplan (Vorläufer der Klasse im Sinne der OOP), der Eigen-schaften festlegt.

Die Attribute haben einem be-stimmten Datentyp.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 17: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

17

Was passiert mit den Fahrzeugen?

C.O.

Bevor die Klasse „Kfz“ fertiggestellt werden kann, muss geklärt werden, welcher Ausschnitt der reale Welt zu modellieren ist:

- Produktion des Fahrzeugs?

- Verkauf des Fahrzeugs?

- Reparatur des Fahrzeugs?

- Fahrzeug verschrotten?

Ein Autohaus ist wohl in erster Linie für die beiden mittleren Bereiche zuständig.

Fragestellung (für die Verwaltung): Welche Vorgänge oder Abläufe sind von Wichtigkeit ( Geschäftsprozesse)?

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 18: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

18

Operationen / Methoden

C.O.

Die Modellwelt soll sich nun lediglich auf die Verwaltung (Auftragsbearbeitung, Rechnungswesen usw.) beziehen.

Die MitarbeiterInnen in den angesprochen Abteilungen müssen Fahrzeuge:

- erfassen

- Stammdaten pflegen

- Informationen ausdrucken

- Teile bestellen usw.

In der objektorientierten Programmierung bezeichnet man diese Tätigkeiten als Operationen oder Methoden. Sie werden in das Klassenmodell mit aufgenommen.

In der objektorientierten Programmierung bezeichnet man diese Tätigkeiten als Operationen oder Methoden. Sie werden in das Klassenmodell mit aufgenommen.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 19: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

19

Klasse: Der letzte Schliff!

C.O.

Kfz

Hersteller: TextTyp: Text………Hubraum: Ganzzahl………Farbe: Text…….VK Preis: Währung

Erfassung()Ändern()Löschen()Drucken()……………

Klassenname

Attribute

Methoden

Notation in UML (Unified Modeling Language) Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 20: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

20

Und nochmal: Von der Klasse …

C.O.

Kfz

Hersteller: TextTyp: Text………Hubraum: Ganzzahl………Farbe: Text…….VK Preis: Währung

Erfassung()Ändern()Löschen()Drucken()……………

„Abstrakter“ Bauplan

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 21: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

21

... zum Objekt

C.O.

:Kfz

Hersteller= „Daihatsu“Typ= „Terios“………Hubraum= 1495………Farbe= „metallic silber“…….VK-Preis= 17800,00

Erfassung()Ändern()Löschen()Drucken()……………

„Konkretes“ individuelles Fahrzeug

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 22: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

22

Erweiterung und Erklärung

C.O.

:Kfz

Hersteller = „Daihatsu“Typ= „Terios“………Hubraum = 1495Nennleistung (KW bei 6000U/min)= 77………Farbe= „rot“…….Grundreis= 17800Leasingsonderzahlung= …Leasingrate = ….Laufzeit= …..

Erfassung()Ändern()Löschen()Drucken()……………

Unterstrichener Klassenname, zu dem das Objekt gehört, falls das Objekt bereits einen Namen hat:

MeinKfz:Kfz

Attributwerte, Daten: aktueller Zustand des Objektes, er kann durch Methoden zur Laufzeit verändert werden.

Merke: Jedes Objekt besitzt eine Objektidentität, diese unterscheidet es von allen anderen Objekten.

Objekt = Instanz/Exemplar einer Klasse

Verhalten des Objektes: Menge von Operationen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 23: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

23

Aufgabe 1

C.O.

Modellieren Sie bitte ein Kunden-Klassendiagramm! Überlegen Sie zunächst, welche Attributte/Methoden benötigt werden könnten. Erstellen Sie dann das entsprechende UML-Klassendiagramm.

Modellieren Sie bitte ein Kunden-Klassendiagramm! Überlegen Sie zunächst, welche Attributte/Methoden benötigt werden könnten. Erstellen Sie dann das entsprechende UML-Klassendiagramm.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 24: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

24

Eine Lösung

C.O.

Kunde

Kunden_Nummer : integerName : StringAdresse : String.....

Umsatz : double

Erfassung()Ändern()Löschen()Adressaufkleber drucken()Serienbrief erstellen()Umsatz holen()

Hier wird noch ein wichtiger Aspekt der OOP deutlich: Der Umsatz des Kunden kann nur über eine Methode ermittelt werden, ein direkter Zugriff auf den Wert wäre zwar auch „programmierbar“ (Änderung der Codierung), entspricht aber nicht der Philosophie der OOP: Verkapselung der Daten (Geheimhaltungsprinzip). Eine Änderung oder Abfrage der Daten soll nur über die dafür definier-ten Methoden ermöglicht werden.

Allerdings: Der Sinn dieses Prinzips wird erst bei einer komplexeren Situation wirklich einsichtig und als Vorteil empfunden.

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassen-diagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 25: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

25

VBScript

C.O.

VBScript ist ein Derivat der OO Programmiersprache Visual Basic von Microsoft. Sinn einer Scriptsprache (s. auch: JavaScript) ist es nicht, größere Programmsysteme zu entwickeln oder den komplexeren Umgang mit Objekten zu realisieren. Mit Scrips werden vielmehr kleinerer Lösungen für z. B. alltäglich anfallende Tätigkeiten am Computer erstellt. Sie können aber auch in HTML Seiten eingebettet werden.

Einige Vorteile von VBScript:

- Implementierung von Klassen (geringer Aufwand, ohne Entwicklungsumgebung)

- Erzeugen von Objekten

- Senden von Botschaften an Objekte (Methodenaufruf, Rückgaben von Daten)

- Codierung der logischen Grundstrukturen

- Verfügbarkeit der COM – Komponenten in VBS

- Verfügbarkeit einfacherer Dialogboxen unter Windows

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 26: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

26

Implementierung

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

So sieht ein komplettes Programm aus, die einzelnen Abschnitte dieser Implemen-tierung werden auf den folgenden Seiten erklärt.

Hinweis: Das Programm wird in einem einfachen Editor eingetippt und mit dem Dateierweiterungsnamen *.vbs agespeichert. Durch einen Doppelklick auf den Namen kann es sofort gestartet werden, MS - Windows interpretiert den Quellcode.

So sieht ein komplettes Programm aus, die einzelnen Abschnitte dieser Implemen-tierung werden auf den folgenden Seiten erklärt.

Hinweis: Das Programm wird in einem einfachen Editor eingetippt und mit dem Dateierweiterungsnamen *.vbs agespeichert. Durch einen Doppelklick auf den Namen kann es sofort gestartet werden, MS - Windows interpretiert den Quellcode.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 27: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

27

Zuerst die Klasse

C.O.

Kfz

Hersteller: TextTyp: TextHubraum: Ganzzahl

Erfassung()Typ_holen()

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 28: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

28

Zuerst die Klasse

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Kfz

Hersteller: TextTyp: TextHubraum: Ganzzahl

Erfassung()Typ_holen()

Hinweis: Eine Typenangabe (z.B. Text, Ganzzahl) hinter dem Variablennamen gibt es in VBS nicht (anders bei VB). VBS verwaltet diese varianten Typen automatisch richtig.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 29: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

29

Was es sonst noch so gibt …

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Diese Programmzeile (immer am Anfang) bewirkt, dass alle Variablen vor ihrer Benutzung angemeldet sein müssen.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 30: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

30

Was es sonst noch so gibt …

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Diese Programmzeile (immer am Anfang) bewirkt, dass alle Variablen vor ihrer Benutzung angemeldet sein müssen.

Private bedeutet, dass der Wert dieser Variable nur von Methoden der Klasse verändert werden darf.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 31: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

31

Was es sonst noch so gibt …

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Diese Programmzeile (immer am Anfang) bewirkt, dass alle Variablen vor ihrer Benutzung angemeldet sein müssen.

Private bedeutet, dass der Wert dieser Variable nur von Methoden der Klasse verändert werden darf.

Sub: Methoden der Klasse, mit der die Werte der Variablen verändert werden dürfen. In den Klam-mern (=Schnittstelle) stehen Variablen (her …), sie dienen dem Datenaustausch zwischen dem eigentlichen Programm und der Methode.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 32: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

32

Was es sonst noch so gibt …

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Diese Programmzeile (immer am Anfang) bewirkt, dass alle Variablen vor ihrer Benutzung angemeldet sein müssen.

Private bedeutet, dass der Wert dieser Variable nur von Methoden der Klasse verändert werden darf.

Sub: Methoden der Klasse, mit der die Werte der Variablen verändert werden dürfen. In den Klam-mern (=Schnittstelle) stehen Variablen (her …), sie dienen dem Datenaustausch zwischen dem eigentlichen Programm und der Methode.

Kennzeichnung: Hier endet diese Methode.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 33: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

33

Was es sonst noch so gibt …

C.O.

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Option ExplicitClass Kfz

Private Hersteller Private Typ Private Hubraum

Sub erfassen(her, ty, hub) Hersteller = her typ = ty Hubraum = hubEnd Sub

Function ErmittleTyp ErmittleTyp = TypEnd Function

End Class

Diese Programmzeile (immer am Anfang) bewirkt, dass alle Variablen vor ihrer Benutzung angemeldet sein müssen.

Private bedeutet, dass der Wert dieser Variable nur von Methoden der Klasse verändert werden darf.

Sub: Methoden der Klasse, mit der die Werte der Variablen verändert werden dürfen. In den Klam-mern (=Schnittstelle) stehen Variablen (her …), sie dienen dem Datenaustausch zwischen dem eigentlichen Programm und der Methode.

Kennzeichnung: Hier endet diese Methode.

Function: Auch eine Methode. „Function“ gibt an, dass diese Methode einen Wert an das rufende Programm zurückgibt.

Kennzeichnung: Hier endet diese Klasse.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 34: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

34

Und nun das Objekt …

C.O.

Dim (vgl. Private bei der Klasse): Hier werden die Variablen angemeldet. Dim Auto1

Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 35: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

35

Und nun das Objekt …

C.O.

Dim (vgl. Private bei der Klasse): Hier werden die Variablen angemeldet. Dim Auto1

Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Das 1. „Highlight“ dieses Programms: Erzeugung des Objektes Auto1(„Instanz“ der Klasse Kfz) während der Laufzeit.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 36: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

36

Und nun das Objekt …

C.O.

Dim (vgl. Private bei der Klasse): Hier werden die Variablen angemeldet. Dim Auto1

Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Wertezuweisung:

a) direkt im Programm b) Mit Dialogbox

Das 1. „Highlight“ dieses Programms: Erzeugung des Objektes Auto1(„Instanz“ der Klasse Kfz) während der Laufzeit.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 37: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

37

Und nun das Objekt …

C.O.

Dim (vgl. Private bei der Klasse): Hier werden die Variablen angemeldet. Dim Auto1

Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Dim Auto1 Dim aDim bDim c

Set Auto1 = new Kfza = "Opel"b=InputBox("Bitte Kfz-Typ eingeben:")c = 1600 Auto1.Erfassen a, b, cMsgBox(Auto1.ErmittleTyp)Set Auto1 = Nothing

Das 1. „Highlight“ dieses Programms: Erzeugung des Objektes Auto1(„Instanz“ der Klasse Kfz) während der Laufzeit.

Wertezuweisung:

a) direkt im Programm b) Mit Dialogbox

Das „2. Highlight“: Senden von Botschaften an das Objekt.

Allgemein: Objekt.Methode param1, param2

(param1/param2: Schnittstellenparameter)

Objekt löschen.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 38: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

38

Programmtest

C.O.

Dialogbox 1:

Dateneingabe

Daialogbox 2:

Ausgabe des Kfz –Typs

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 39: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

39

Hinweise für Insider

C.O.

Der saloppe Umgang mit Prozeduren, Funktionen, der Parameterübergabe und den return-Werten mag Personen mit Erfahrung in einer imperativen Programmiersprache (Pascal, C …) verwundern, möglicherweise sogar entsetzen. Moderne Lehrbücher der Informatik legen den Schwerpunkt der Einführung in die Programmierung auf die objektorientierten Konzepte. Die Modellierung von Klassen, Objekterzeugung während der Laufzeit, das Senden von Nachrichten (darf nicht mit einem Prozeduraufruf einer rein imperativen Programmierung gleichgesetzt werden) und das Geheimhaltungsprinzip haben hier zunächst einen höheren Stellenwert als Details der Unterprogrammtechnik oder die exakte Behandlung der logischen Grundstrukturen.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 40: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

40

Aufgabe 2

C.O.

Modellieren Sie bitte ein Kunden-Klassendiagramm, welches Methoden enthält, die Sie bereits von der Codierung her realisieren können. Erstellen Sie dann das entsprechende UML-Klassendiagramm und codieren Sie dies bitte in VBS.

Führen Sie dann Programmtests durch!

Modellieren Sie bitte ein Kunden-Klassendiagramm, welches Methoden enthält, die Sie bereits von der Codierung her realisieren können. Erstellen Sie dann das entsprechende UML-Klassendiagramm und codieren Sie dies bitte in VBS.

Führen Sie dann Programmtests durch!

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 41: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

41

Lösung Aufgabe 2

C.O.

Option ExplicitClass Kunde Private Kundennummer Private V_N_Name Private UmsatzSub erfassen(Kn, Vn, Um) Kundennummer = Kn V_N_Name = Vn Umsatz = UmEnd SubFunction ErmittleKunde ErmittleKunde = Kundennummer & " " & V_N_Name & " " & UmsatzEnd FunctionEnd Class

Dim Kunde1 Dim kDim nDim uSet Kunde1 = new Kundek=InputBox("Kundennummer:")n=InputBox("Kundenname:")u=InputBox("Kundenumsatz:")Kunde1.Erfassen k, n, uMsgBox(Kunde1.ErmittleKunde)Set Kunde1 = Nothing

Option ExplicitClass Kunde Private Kundennummer Private V_N_Name Private UmsatzSub erfassen(Kn, Vn, Um) Kundennummer = Kn V_N_Name = Vn Umsatz = UmEnd SubFunction ErmittleKunde ErmittleKunde = Kundennummer & " " & V_N_Name & " " & UmsatzEnd FunctionEnd Class

Dim Kunde1 Dim kDim nDim uSet Kunde1 = new Kundek=InputBox("Kundennummer:")n=InputBox("Kundenname:")u=InputBox("Kundenumsatz:")Kunde1.Erfassen k, n, uMsgBox(Kunde1.ErmittleKunde)Set Kunde1 = Nothing

So kann erreicht werden, dass alle Kundeninformationen auf einer Dialogbox ausgegeben werden.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 42: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

42

Lösung Aufgabe 2

C.O.

Zusatzaufgaben:

1) Verändern Sie das Programm so, dass noch Führungstexte ausgegeben werden!

2) (Aufgabe nur für „Experten“) Gehen Sie bitte davon aus, dass ein zusätzliches Datenfeld mit der Aufsummierung der Umsätze aller vorherigen Jahre (ohne das aktuelle Jahr) in der Klasse vorhanden ist. Es soll bei der Ausgabe ein Gesamtsummenfeld (die alten Umsätze + Umsatz des aktuellen Jahres) angezeigt werden. Wie kann das Problem gelöst werden? (Tipp: MsgBox - Daten sind immer Zeichenketten, keine Zahlen. Hier ist wie z. B. in der Programmiersprache Delphi eine Typenumformung notwendig.)

Zusatzaufgaben:

1) Verändern Sie das Programm so, dass noch Führungstexte ausgegeben werden!

2) (Aufgabe nur für „Experten“) Gehen Sie bitte davon aus, dass ein zusätzliches Datenfeld mit der Aufsummierung der Umsätze aller vorherigen Jahre (ohne das aktuelle Jahr) in der Klasse vorhanden ist. Es soll bei der Ausgabe ein Gesamtsummenfeld (die alten Umsätze + Umsatz des aktuellen Jahres) angezeigt werden. Wie kann das Problem gelöst werden? (Tipp: MsgBox - Daten sind immer Zeichenketten, keine Zahlen. Hier ist wie z. B. in der Programmiersprache Delphi eine Typenumformung notwendig.)

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 43: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

43

Lösung Aufgabe 2 (Zusatzaufgaben)

C.O.

Option ExplicitClass Kunde Private Kundennummer Private V_N_Name Private Umsatz Private Umsatz_altSub erfassen(Kn, Vn, Um, Ua) Kundennummer = Kn V_N_Name = Vn Umsatz = Um Umsatz_alt = uaEnd SubFunction ErmittleKunde dim Umges Umges = CDbl(Umsatz) + CDbl(Umsatz_alt) ErmittleKunde = "K-Nummer: " & Kundennummer & „ Name: " & V_N_Name & " Gesamzumsatz:" & UmgesEnd FunctionEnd Class

Option ExplicitClass Kunde Private Kundennummer Private V_N_Name Private Umsatz Private Umsatz_altSub erfassen(Kn, Vn, Um, Ua) Kundennummer = Kn V_N_Name = Vn Umsatz = Um Umsatz_alt = uaEnd SubFunction ErmittleKunde dim Umges Umges = CDbl(Umsatz) + CDbl(Umsatz_alt) ErmittleKunde = "K-Nummer: " & Kundennummer & „ Name: " & V_N_Name & " Gesamzumsatz:" & UmgesEnd FunctionEnd Class

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 44: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

44C.O.

Anhand dieser Lösung lässt sich verdeutlichen, dass unterschiedliche Modellierungsmöglichkeiten zum gleichen Ergebnis führen.

So könnte auch eine eigene Methode „Addiere_Umsatz“ in der Klasse „Kunde“ definiert werden. Vom Hauptprogramm aus ließe sich dann über einen Methodenaufruf die entsprechende Operation durchführen.

Es kommt auf die „Methode“ an!

Aufgabenerweiterung:

Modellieren Sie bitte die neue Klasse und implementieren Sie diese.

Aufgabenerweiterung:

Modellieren Sie bitte die neue Klasse und implementieren Sie diese.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 45: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

45C.O.

Das Component Object Model (COM) erlaubt (u. a.) den Zugriff auf Computerdienste mit VBS.

In diesem Zusammenhang ist unter Komponente eine compilierte Programmdatei zu verstehen, welche i. d. R. mehrere Klassen enthält. Damit werden die entsprechenden Objekte (z. B. unter VBS, aber auch unter C++, C#, Java oder VB) erzeugt, mit denen z. B. der Zugriff auf Funktionen des Betriebssystems Windows realisiert werden kann.

Die folgenden Beispiele orientieren sich an den Lehrbüchern von D. Johlen und H. Schwichtenberg (s. Quellen).

Component Object Model

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 46: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

46C.O.

Das Dateisystem als Komponente

FileSystemObject

Drives

getFile(pfad):FilemoveFile(quellPfad, zielPfad)……………..

Stark vereinfachte Klassenmodelle der COM – Komponente, die für das Dateisystem zuständig ist.

File

NameDatelastModifiedparentFolder

moveFile(zielPfad)……………..

Beispiel eines Anwendungsfalls: Eine Datei soll von einem Verzeichnis in ein anderes verschoben werden. Konkret: Die Datei „test1.txt“ im Verzeichnis c:\vz1\ soll in das Verzeichnis c:\vz2\ verschoben werden.

Beispiel eines Anwendungsfalls: Eine Datei soll von einem Verzeichnis in ein anderes verschoben werden. Konkret: Die Datei „test1.txt“ im Verzeichnis c:\vz1\ soll in das Verzeichnis c:\vz2\ verschoben werden.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 47: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

47C.O.

Das Dateisystem als Komponente

Set FSObjekt = CreateObject("Scripting.FileSystemObject")Set Datei = FSObjekt.getFile("h:\SE\test1.txt")Datei.move "h:\SX\"MsgBox "Dateien umkopiert!"

Set FSObjekt = CreateObject("Scripting.FileSystemObject")Set Datei = FSObjekt.getFile("h:\SE\test1.txt")Datei.move "h:\SX\"MsgBox "Dateien umkopiert!"

Z1Z2Z3Z4

Z1: Erzeugung des Objektes „FSObjekt“ mit der Methode CreateObject. Als Schnittstellenparameter muss die Klasse „FileSystemObject“ aus dem Paket „Scripting“ angegeben werden.

Z2: Erzeugen des Objektes „Datei“ durch das Senden der Nachricht „getFile“.

Z3: Senden der Nachricht „move“ (inkl. Parameter) an das Objekt „Datei“.

Z1: Erzeugung des Objektes „FSObjekt“ mit der Methode CreateObject. Als Schnittstellenparameter muss die Klasse „FileSystemObject“ aus dem Paket „Scripting“ angegeben werden.

Z2: Erzeugen des Objektes „Datei“ durch das Senden der Nachricht „getFile“.

Z3: Senden der Nachricht „move“ (inkl. Parameter) an das Objekt „Datei“.

Sowohl für das Modellieren als auch für die Erklärung eines Programms ist diese verbale Ausdrucksweise „ungeschickt“. UML kennt neben den Klassendiagrammen noch viele weitere Modellierungstechniken. Zwei wichtige Möglichkeiten werden nun vorgestellt.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 48: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

48

Anwendungsfalldiagramm (Use-case)

C.O.

Bestellung eingeben

Bestellung ändern

Kunde anlegen

Kunde löschenAkteur: Auftrags –annahme

Akteur: System- verwalter

Systemgrenze

Die Aufgaben eines Programmsystems lassen sich mit den Anwendungsfalldiagrammen übersichtlich („auf hoher Ebene“) darstellen. Dieses Werkzeug unterstützt (u. a.) die Formulierung der Anforderungen an das System und die Überwachung iterativer Projekte zur Erstellung desselben.

Die Aufgaben eines Programmsystems lassen sich mit den Anwendungsfalldiagrammen übersichtlich („auf hoher Ebene“) darstellen. Dieses Werkzeug unterstützt (u. a.) die Formulierung der Anforderungen an das System und die Überwachung iterativer Projekte zur Erstellung desselben.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 49: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

49

Sequenzdiagramm

C.O.

Erklärung:

Das Sequenzdiagramm dient (u. a.) der Darstellung, wie Objekte Nachrichten austauschen. Es werden zeitliche Aspekt berücksichtigt.

Das Sequenzdiagramm dient (u. a.) der Darstellung, wie Objekte Nachrichten austauschen. Es werden zeitliche Aspekt berücksichtigt.

Zubehörshop des Autohauses

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 50: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

50

Beispiele und Übungen

C.O.

Sequenzdiagramm für den Anwendungsfall „Datei verschieben“

FSObjekt:

FileSystemObject

(new)

FSObjekt:

FileSystemObject

getFile(…) Durch getFile wurde ein neues Objekt erzeugt!

move(…)

Folge: Datei ist verschoben!

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 51: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

51

Beispiele und Übungen

C.O.

File

NameDatelastModifiedparentFolder

moveFile(zielPfad)……………..

Nochmals zurück zur Klasse „File“:

Aufgabe 3: Auf das Attribut DatelastModified kann direkt (ohne Methode) zugegriffen werden. Erstellen Sie bitte ein Script, welches das Datum der letzten Änderung einer beliebigen Datei in einem beliebigen Verzeichnis ermittelt und ausgibt. Entwerfen Sie bitte zuerst das entsprechende Sequenzdiagramm.

Aufgabe 3: Auf das Attribut DatelastModified kann direkt (ohne Methode) zugegriffen werden. Erstellen Sie bitte ein Script, welches das Datum der letzten Änderung einer beliebigen Datei in einem beliebigen Verzeichnis ermittelt und ausgibt. Entwerfen Sie bitte zuerst das entsprechende Sequenzdiagramm.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 52: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

52

Script-Lösung der Aufgabe 3

C.O.

Set FSObjekt = CreateObject("Scripting.FileSystemObject")Set Ordner = FSObjekt.getFolder("h:\SE\")Set Dateien = Ordner.filesSet Datei = Dateien.item("test1.txt")MsgBox "Datum des letzten Zugriffs: " & Datei.dateLastModified

Set FSObjekt = CreateObject("Scripting.FileSystemObject")Set Ordner = FSObjekt.getFolder("h:\SE\")Set Dateien = Ordner.filesSet Datei = Dateien.item("test1.txt")MsgBox "Datum des letzten Zugriffs: " & Datei.dateLastModified

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 53: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

53

Programmerweiterung Aufgabe 3

C.O.

In Anlehnung an das 1. VBS - Programm dieser Präsentation könnte die Aufgabenstellung dergestalt erweitert werden, dass über eine Dialogbox zunächst einmal das Dateiverzeichnis und der Dateiname eingegeben werden und dann die Zugriffe auf die COM - Komponenten erfolgen. Dateneingabe und COM - Zugriffe könnten jeweils gekapselt werden. Die Erstellung von Klassendiagrammen und eines Sequenzdiagramms wäre der erste Schritt zur Entwicklung einer Lösung.

In Anlehnung an das 1. VBS - Programm dieser Präsentation könnte die Aufgabenstellung dergestalt erweitert werden, dass über eine Dialogbox zunächst einmal das Dateiverzeichnis und der Dateiname eingegeben werden und dann die Zugriffe auf die COM - Komponenten erfolgen. Dateneingabe und COM - Zugriffe könnten jeweils gekapselt werden. Die Erstellung von Klassendiagrammen und eines Sequenzdiagramms wäre der erste Schritt zur Entwicklung einer Lösung.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 54: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

54

Abspeichern in eine Datei

C.O.

Set meinFSO = CreateObject("Scripting.FileSystemObject")Set meinOrdner = meinFSO.getFolder("h:\SE\")Set meineDateien = meinOrdner.filesSet meineDoku = meinFSO.CreateTextFile("h:\SE\doku.txt")

meineDoku.writeLine "Projekt-Ordner"meineDoku.writeLine

For Each datei In meineDateien meineDoku.writeLine datei.name & " , zuletzt geändert: " & datei.dateLastModified meineDoku.writeLine Next

meineDoku.CloseMsgBox "Doku-Datei erzeugt!"

Set meinFSO = CreateObject("Scripting.FileSystemObject")Set meinOrdner = meinFSO.getFolder("h:\SE\")Set meineDateien = meinOrdner.filesSet meineDoku = meinFSO.CreateTextFile("h:\SE\doku.txt")

meineDoku.writeLine "Projekt-Ordner"meineDoku.writeLine

For Each datei In meineDateien meineDoku.writeLine datei.name & " , zuletzt geändert: " & datei.dateLastModified meineDoku.writeLine Next

meineDoku.CloseMsgBox "Doku-Datei erzeugt!"

Aufgabe 4: Untersuche Sie bitte diesen Quellcode. Formulieren Sie zu dieser Lösung die Aufgabenstellung. Wie sieht das entsprechende Sequenzdiagramm aus?

Aufgabe 4: Untersuche Sie bitte diesen Quellcode. Formulieren Sie zu dieser Lösung die Aufgabenstellung. Wie sieht das entsprechende Sequenzdiagramm aus?

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 55: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

55

Weitere Übungen

C.O.

Zurück zu dem Autohaus: Zur Erstellung von Rechnungen könnten Klassendiagramme erstellt und in VBS codiert werden.

Hinweise:

In dieser Lerneinheit wird die Thematik „Beziehungen zwischen Klassen“ nicht behandelt. Die oben stehende Aufgabe kann der Vorbereitung auf diese Modellierungsmöglichkeit dienen.

An dieser Stelle ist es sinnvoll, die ereignisgesteuerte Programmierung vorzustellen und einen Wechsel der Programmiersprache vorzunehmen. Selbstverständlich müssen nun Themen wie Privat/Public – Variablen, Prozeduren und Funktionen, Parameter, Call by value/reference usw. ausführlich behandelt werden.

Zurück zu dem Autohaus: Zur Erstellung von Rechnungen könnten Klassendiagramme erstellt und in VBS codiert werden.

Hinweise:

In dieser Lerneinheit wird die Thematik „Beziehungen zwischen Klassen“ nicht behandelt. Die oben stehende Aufgabe kann der Vorbereitung auf diese Modellierungsmöglichkeit dienen.

An dieser Stelle ist es sinnvoll, die ereignisgesteuerte Programmierung vorzustellen und einen Wechsel der Programmiersprache vorzunehmen. Selbstverständlich müssen nun Themen wie Privat/Public – Variablen, Prozeduren und Funktionen, Parameter, Call by value/reference usw. ausführlich behandelt werden.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 56: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

56

Jetzt kommt Java: OO Modellierung ohne

Kompromisse

C.O.

public class Kfz { private String Hersteller; private String Typ; private int Hubraum; public Kfz(int Hub) { Hersteller = "Opel"; Typ = "Astra"; Hubraum = Hub; } public int gibHubraum() { return Hubraum; }

public void Ausgabe_Kfz() { System.out.println(Hersteller + "-Info"); System.out.println("Typ: " + Typ); System.out.println("Hubraum: " + Hubraum); System.out.println(); }}

public class Kfz { private String Hersteller; private String Typ; private int Hubraum; public Kfz(int Hub) { Hersteller = "Opel"; Typ = "Astra"; Hubraum = Hub; } public int gibHubraum() { return Hubraum; }

public void Ausgabe_Kfz() { System.out.println(Hersteller + "-Info"); System.out.println("Typ: " + Typ); System.out.println("Hubraum: " + Hubraum); System.out.println(); }}

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Klassendefinition

Daten

Kunstruktor

Methoden

Hier: Kein Hauptprogramm!

Page 57: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

57

Didaktisches Entwicklungstool

C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Vorteile dieses Werkzeuges:

Kaum Einarbeitungszeit notwendig

Läuft auf dem Java Development Kit von Sun Microsystems: Komplettes Java, nicht vereinfacht

UML - ähnliche Visualisierung der Klassenstruktur

Erzeugung von Objekten aus den Klassen auf Mausklick, das Schreiben eines Testrahmens ist nicht notwendig, die Methoden können direkt getestet werden

Im Vordergrund stehen OO Konzepte und nicht Sprachkonstrukte einer Programmiersprache

Bewährtes System, es existieren viele gute Lehrbücher

Page 58: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

58

BlueJ-Editor

C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Page 59: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

59C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Das Objekt wird erzeugt

Hier: Klick mit rechter Maustaste

Page 60: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

60C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Das Objekt wird erzeugt

Kontextmenü

Page 61: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

61C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Das Objekt wird erzeugt

Objektname eingeben

Konstruktor nimmt Wert entgegen (Parameterübergabe)

Page 62: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

62C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Das Objekt wird erzeugt

Objekt Klasse

Page 63: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

63C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Ein zweites Objekt

Page 64: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

64C.O.

Rechte Maustaste: Kontextmenü für den Methodenaufruf

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Methodenaufruf

Page 65: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

65C.O.

Anzeige des Rückgabewertes (vgl. Quelltext)

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Methodenaufruf

Page 66: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

66C.O.

Konsolenähnliches Fenster: Falls „void Ausgabe_Kfz()“ angeklickt wurde, werden alle Attribute angezeigt (s. Quelltext).

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Methodenaufruf

Page 67: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

67C.O.

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Keine Beziehungsprobleme!

Diese Abbildung zeigt, wie es nun weitergehen könnte: Modellierung von Beziehungen zwischen Klassen mit BlueJ.

(nach Barnes, D. u. Kölling, M.: Java lernen mit BlueJ)

Page 68: Einführung in Klassen, Objekte und in UML Klassen und Objekte mit VBS Modellierung mit UML Anwendungsfälle mit COM Objekten Java und BlueJ Christoph Oberweis.

68

Quellen

C.O.

Balzert, Heide: Objektorientierung in 7 Tagen.- Spektrum Verlag

Balzert, Helmut: Lehrbuch Grundlagen der Informatik.- Spektrum Verlag

Barnes, D. u. Kölling, M.: Java lernen mit BlueJ.- Pearson-Verlag

Johlen, D.: Anwendungsentwicklung.- Holland + Josenhans- Verlag

Schwichtenberg, H. (u. a.): Windows Scripting.- Addison Wesley-Verlag

Alle Fotos u. Abbildungen: C. Oberweis

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen

Modelle und Modellierung

Klassendiagramme

VBSript

Objekte erzeugen

Component Object Model

Anwendungs-falldiagramme

Sequenz-diagramme

Übungen

Java

Quellen