Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte:...

64
Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache JAVA - Konstrukte Christoph Oberweis 2008 Teil 1

Transcript of Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte:...

Page 1: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

Objektorientierte Programmierung mit Java unter BlueJ

Modellierung (auch UML)

Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter

Einfache JAVA - Konstrukte

Christoph Oberweis 2008

Teil 1

Page 2: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

2

Hinweis:

C.O.

Der Lerngruppe kennt die grundsätzlichen Begriffe und Sachverhalte bezüglich der Datenverarbeitung mit Computern:

- Hard - und Software

- Grundfertigkeiten am PC (Office – Programme, Explorer, Browser)

- Grob: Quellprogramm, ausführbares Programm, Übersetzer

- Grob: Daten und Datentypen

- Grob: ASCII – Code

Page 3: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

3

Agenda

Modelle und Modellierung Klassendiagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 4: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

4

Modelle: Vorwort

C.O.

Anwendungsprogramme und Objektorientierung

Erst durch eine geeignete Software kann der Computer Probleme der realen Welt lösen. 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 ausgewählte Probleme der 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 (Kunden-nummer, Artikelbezeichnung) werden modelliert – Ergebnis dieses Prozesses sind dann beispielsweise Klassen inkl. ihrer Attribute und der ihnen zugeordneten Verarbeitungsmöglichkeiten (Methoden) in der Modellwelt.

Klassen sind Schablonen (Baupläne), die zur Erzeugung von Objekten im Computer dienen.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 5: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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 Bericht

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 6: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 7: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 8: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

8

Eine weitere Betrachtungsweise

C.O.

Jedes Kfz ist individuell (Fahrzeugnummer).

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 9: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 10: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 11: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 12: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

12

… zum individuellen Kfz

C.O.

Und so soll das individuelle Kfz aussehen!

Das ObjektModelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 13: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

13

Andere Möglichkeit!

C.O.

Ein anderes „Individuum“.

Ein anders Objekt der gleichen KlasseModelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 14: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

14

Schritte der Modellierung

C.O.

WirklichkeitWirklichkeitModelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 15: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 16: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 17: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 18: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 19: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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 (Datenfeld: Feldname und Datentyp)

Methoden

Notation in UML (Unified Modeling Language)

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 20: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 21: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 22: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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 (Methoden)

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 23: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

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.

„Erzeugen“ Sie nun bitte ein Objekt (einKunde:Kunde) und wählen Sie sinnvolle Attributwerte.

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.

„Erzeugen“ Sie nun bitte ein Objekt (einKunde:Kunde) und wählen Sie sinnvolle Attributwerte.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 24: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

24

Eine Lösung

C.O.

Kunde

Ku_Nummer : integerName : StringAdresse : String.....

Umsatz : double

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

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 25: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

25

BlueJ:Didaktisches Entwicklungstool

C.O.

Einige Vorteile dieses Werkzeuges:

Kaum Einarbeitungszeit notwendig

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

Erzeugung von Objekten aus den Klassen auf Mausklick, die Methoden können direkt getestet werden

Hinweise zu den nun folgenden Übungen:

Diese sind in der vorliegenden Form nicht im Selbststudium zu lösen. Die Lehrerin/der Lehrer gibt Tipps, erklärt Fachbegriffe teilt zusätzliche Übungsblätter aus und bespricht die Lösungen.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 26: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

26

1. Schritt BlueJ aufrufen …

C.O.

… und das Projekt Auto laden:

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 27: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

27

BlueJ: Klassen und Objekte intuitiv

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 28: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

28

Quellcode übersetzten

C.O.

Klick mit der rechten Maustaste auf die Klasse

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 29: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

29

Quellcode ist übersetzt

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 30: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

30

Erzeugen eines Objektes

C.O.

new: eine Art „Befehl“, der eine Instanz …

… nach dem „Bauplan“ der Klasse Auto erzeugt.

Parameter: Preis des Fahrzeugs, dieser wird direkt bei der Erzeugung des Objektes festgelegt

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 31: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

31

Datenübergabe mit Parameter

C.O.

Der Konstruktor ist eine spezielle Methode der Klasse und weist den Attributen (Datenfeldern) der Klasse Anfangswerte zu. Hier bekommte der Konstruktor einen Wert als Parameter von „außen“. Parameter sind von einem bestimmten Datentyp (hier: double, für Zahlen mit Nachkommastellen) und haben einen Namen (hier: preis).

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 32: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

32

Anfangswert eintragen

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 33: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

33

Objekt ist erzeugt!

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 34: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

34

Objekt ist erzeugt!

C.O.

Name der zugrundeliegenden Klasse

Instanzname (= Objektname)

Objekt - leiste

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 35: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

35

Was kann das Objekt?

C.O.

Klick auf rechte Maustaste: Kontextmenü der Auto -Instanz, diese Einträge repräsentieren Operationen (=Methoden), mit denen die Instanz manipuliert werden kann.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 36: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

36

Was kann das Objekt?

C.O.

Methoden

Objekt löschen

Das kommt später!

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 37: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

37

Methoden

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 38: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

38

Was kostet der Spaß?

C.O.

Aufruf einer Methode

Hinweis: Es soll hier nicht stören, dass die Geldbeträge mit nur einer (oder mehr als zwei) Nachkommastellen erscheinen; das wird später geändert!

Hinweis: Es soll hier nicht stören, dass die Geldbeträge mit nur einer (oder mehr als zwei) Nachkommastellen erscheinen; das wird später geändert!

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 39: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

39

Aufgabe

C.O.

„Erforschen“ Sie nun bitte genau, was die vier Methoden der Klasse „Auto“ leisten.

Zur Darstellung Ihrer Ergebnisse: Erstellen Sie bitte eine Tabelle mit der Überschrift „Objekt auto_1“ und den Spalten „Methodenname“ und „Beschreibung“.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 40: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

40

Eine Klasse …

C.O.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 41: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

41C.O.

Eine Klasse … viele Objekte!

Alle Objekte der gleichen Klasse haben die gleichen Datenfelder und die gleichen Methoden!

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 42: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

42

Inhalte der Instanzvariablen

C.O.

Instanzvariable: Datenfeld, welches die aktuellen Daten, die das individuelle Objekt (hier auto3) benutzt, speichert. Sie definiert ein Attribut (auch: Eigenschaft) eines Objektes.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 43: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

43

Kommunikation mit Objekten

C.O.

Auch diese Methode benötigt Information von „außen“, um ihre Aufgabe zu erfüllen: Parameter

Der Teil zwischen den Klammern liefert Informationen hinsichtlich der Parameter. Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 44: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

44

Signaturen

C.O.

Signaturen der Methoden: Sie gibt Informationen über Methoden.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 45: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

45

Signaturen

C.O.

Diese Methode liefert einen Wert (den Inhalt eines Datenfeldes), hier mit dem Datentyp double (d.h. eine Zahl mit Nachkommastellen) Diese Methode benötigt (im vorliegenden Fall) keine Daten von außen (leere Klammern).

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 46: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

46

Signaturen

C.O.

Signatur: Allgemeine „Beschreibung“: Die Methode wird im Programm zunächst „theoretisch definiert“, also programmiert.

Konkreter Aufruf der Methode im Programm: Die Methode „gibPreisSonderausstattung“ des Objektes „aut01“ wird aufgerufen und liefert dann einen Wert. Beachte: Vor dem Punkt steht der Objektname, dahinter der Methodenname.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 47: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

47

Signaturen

C.O.

Diese Methode liefert keinen Wert (den Inhalt eines Datenfeldes), hier mit dem Datentyp double (d.h. eine Zahl mit Nachkommastellen). Diese Methode benötigt (im vorliegenden Fall) Daten außen. In den Klammern stehen Parameter, diese haben einen Namen und sind von einem bestimmten Typ (hier: double).

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 48: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

48

Zustände!

C.O.

Das Objekt hat einen aktuellen Zustand: die Werte in den Datenfeldern repräsentieren diesen.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 49: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

49

Quellcode

C.O.

Wo und wie werden nun Klassen in JAVA programmiert?

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 50: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

50

Quellcode

C.O.

Da dieses Beispiel schon etwas komplexer ist, wird das Ganze an einem anderen Auto – „Modell“ vorgeführt.

Da dieses Beispiel schon etwas komplexer ist, wird das Ganze an einem anderen Auto – „Modell“ vorgeführt.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 51: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

51

Zuerst die Klasse

C.O.

Kfz

hersteller: Texttyp: Texthubraum: Ganzzahl

ausgabe_Kfz()gibHubraum()

Namenskonventionen: Klassennamen beginnen mit einen großen Buch -staben, Datenfelder mit einem kleinen Buchstaben, Klassennamen und Methodennamen ebenfalls mit einem kleinen Buchstaben, wobei i.d.R. Methodennamen mit einem Verb beginnen.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Hinweis: Hersteller und Fahrzeugtyp stehen der Einfachheit halber als Literale im Konstruktor, lediglich der Hubraum soll beim Konstruktoraufruf von außen Daten empfangen.

Page 52: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

52C.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(); }}

Klassendefinition

Deklaration: Datenfelder

Konstruktor

Programmanweisungen: Wertzuweisung, Initialisierung,

Methoden

Programmanweisungen: Ausgabe von Werten oder Texten

Hinweis: Mit weiteren „Typen von Programmanweisungen können Wiederholungsstrukturen oder Abfragen realisiert werden. Dies wird später behandelt.

Jetzt kommt JAVA

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 53: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

53C.O.

public class Kfz {

}

public class Kfz {

}

Klassendefinition

public: auf diese Klasse kann von außen zugegriffen werden. (Gegenteil: private, macht hier aber keinen Sinn!) Es darf nicht mehr als eine öffentliche Klasse in einer Übersetzungseinheit enthalten sein.

Programmanalyse (Quelltext)

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Zwischen diesen Klammern steht der „Innenteil“ der Klasse (Deklarationen und Methoden mit Anweisungen).

Das Einrücken der Klammern (oder der Programmzeilen) ist beliebig, allerdings sollte die Programmstruktur dadurch verdeutlicht werden (Mittel der Doku-mentation).

Page 54: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

54C.O.

public class Kfz { private String hersteller; private String typ; private int hubraum;

}

public class Kfz { private String hersteller; private String typ; private int hubraum;

}

Deklaration: Datenfelder (da diese zu unterschiedlichen Zeiten unterschiedliche Werte enthalten können, heißen sie auch Variablen)

Instanzvariablen, private: Die Werte können von außen nicht manipuliert werden.

Datentyp String: Zeichenkette

Datentyp int (integer): Zahlen ohne Nachkommastellen

Hersteller, Typ...: Feldname

Beachte: Die Deklaration eines Feldes wird mit einem „;“ abgeschlossen

Programmanalyse

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 55: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

55C.O.

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

Konstruktor

Er sorgt dafür, dass die Datenfelder des Objektes unmittelbar nach seiner Erzeugung sinnvolle Werte besitzen (Initialisierung). Er hat den gleichen Name wie die Klasse und wird automatisch aufgerufen. Die Initialisierung erfolgt entweder direkt mit dem Gleichsetzungsoperator ´=´ als Wertezuweisung:

typ = "Astra";

oder mit Hilfe einer Parameter - übergabe:

public Kfz(int hub)

Beachte: Die Programmanweisungen des Konstruktors (wie auch der Me - thoden) stehen zwischen ´{´ und ´}´.

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Programmanalyse

Page 56: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

56C.O.

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

Ergänzung:

public Kfz(int hub)

Formaler Parameter

Aktueller Parameter

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Programmanalyse

Page 57: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

57C.O.

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

public class Kfz { private String hersteller; private String typ; private int hubraum; public Kfz(int hub) { hersteller = "Opel"; typ = "Astra"; hubraum = hub; }

}

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Parameterübergabe und Zuweisung

ParameterübergabeZuweisung

Page 58: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

58C.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(); }}

Methoden

Typ 1:

Rückgabe eines Wertes eines bestimmten Datentyps, hier: Ausgabe im BlueJ - Fenster

(normalerweise liefert eine Methode mit return einen Wert an eine andere Methode zurück)

Typ 2:

Keine Rückgabe (void)

„echte“ Ausgabeanweisung: Bildschirm – Ausgabe, auch unabhängig von BlueJ

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Programmanalyse

Page 59: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

59C.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(); }}

Auch hier werden Methoden von Objekten aufgerufen (Punkt-Operator!)

hersteller + "-Info"

Ausgabe des Inhalts einer Variablen und daran „angehängt“ das Literal "-Info"

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Programmanalyse

Page 60: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

60C.O.

public class Klassenname {

Datenfelder

Konstruktoren

Methoden}

public class Klassenname {

Datenfelder

Konstruktoren

Methoden}

Zusammenfassung

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Datenfelder: Speichern die Daten, die das Objekt benutzt, sie beschreiben als Eigenschaften den Zustand eines Objekts, individuelle Charakteristikum (Zustand), um ein bestimmtes Objekt von einem anderen desselben Typs zu unterscheiden.

Konstruktoren: Setzen neu erzeugte Objekte in einen vernünftigen Anfangszustand

Methoden: Implementieren das Verhalten der Objekte (dienen auch der Veränderung der Objekteigenschaften)

Page 61: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

61C.O.

Mini - Projekt

Als kleines „Abschlussprojekt“ zu diesem Teil 1 kann nun die Modellierung eines Fahrzeugs stehen, welches alle bisher kennengelernten Methoden integriert.

Zusatzaufgabe: Informieren Sie sich bitte, wie ein Quelltext mit Kommentaren versehen werden kann und welchen Sinn das macht (Hilfe: s. Quelltext auf den letzten beiden Folien dieser Präsentation).

Als kleines „Abschlussprojekt“ zu diesem Teil 1 kann nun die Modellierung eines Fahrzeugs stehen, welches alle bisher kennengelernten Methoden integriert.

Zusatzaufgabe: Informieren Sie sich bitte, wie ein Quelltext mit Kommentaren versehen werden kann und welchen Sinn das macht (Hilfe: s. Quelltext auf den letzten beiden Folien dieser Präsentation).

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 62: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

62

Quellen

C.O.

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

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

Das BlueJ Tutorial http://www.bluej.org/download/download.html

http://jerry.c-lab.de/java/21Tage/kap02.htm

Alle Fotos u. Abbildungen: C. Oberweis

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Modelle und Modellierung

Klassen- diagramme

Objekte erzeugen

Methoden aufrufen

Signaturen

Java

Quellen

Page 63: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

63

Quellcode, Beispiel

C.O.

/** * Die Klasse Auto modelliert einfache Fahrzeuge. * Der Nettopreis für das Fahrzeug wird über den Konstruktor festgelegt. * Netto- und Bruttopreis können ausgegeben werden. * Zusätzlich können für Sonderausstattungen mehrmals Preise berücksichtigt werden. * Autor: Christoph Oberweis (www.coberweis.de) * Version: 2008.06.21 */public class Auto { // Der Preis (Netto, Brutto, Preis fuer Sonderausstattung) private double preis_netto; private double preis_brutto; private double preis_sonderausstattung; // Konstruktor: Erzeuge ein Fahrzeug zum angegebenen Preis public Auto(double preis) { preis_netto = preis; preis_brutto = 0.00; preis_sonderausstattung = 0.0; }

Page 64: Objektorientierte Programmierung mit Java unter BlueJ Modellierung (auch UML) Grundlegende Konzepte: Klassen, Objekte, Methoden u. Parmameter Einfache.

64

Quellcode

C.O.

// Liefere den Nettopreis public double gibNettogrundpreis() { return preis_netto; }

// Nimmt Preis fuer Sonderausstattung public void nimmPreisSonderausstattung(double pr_sonder) { preis_sonderausstattung = preis_sonderausstattung + pr_sonder; } // Zeige bisherigen Preis fuer Sonderausstattung public double gibPreisSonderausstattung() { return preis_sonderausstattung; } // Berechne den Bruttopreis und drucke Netto- und Bruttopreis. public void PreisDrucken() { preis_netto = preis_netto + preis_sonderausstattung; preis_brutto = preis_netto * 1.19; // Ausdruck Rechnungsfuss System.out.println("Gesamtpreis Netto"); System.out.println( preis_netto + " EURO"); System.out.println("Gesamtpreis Brutto"); System.out.println( preis_brutto + " EURO"); System.out.println("=================="); System.out.println(); }}