Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Modelle und Modellierung C.O. Wirkliche Welt: Autohaus Modell: Idealisierte Darstellung (Abbildung) der realen Welt zur Veranschaulichung bestimmter.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Modelle und Modellierung C.O. Wirkliche Welt: Autohaus Modell: Idealisierte Darstellung (Abbildung) der realen Welt zur Veranschaulichung bestimmter."—  Präsentation transkript:

1 1 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

2 2 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

3 3 Analogmodell C.O. 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

4 4 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

5 5 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 KFZIndividuelles KFZ Individuelles KFZ 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

6 6 Die Vorstufe einer Klasse C.O. Kfz Hersteller: Text Typ: 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. 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

7 7 Von der Schablone … C.O. Die Schablone definiert den Bauplan des Fahrzeugs (falls zusätzliche detaillierte Angaben vorliegen). Eine 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

8 8 … zum individuellen Kfz C.O. Und so soll das individuelle Kfz aussehen! Das Objekt Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen

9 9 Andere Möglichkeit! C.O. Ein anderes Individuum. Ein anders Objekt der gleichen 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

10 10 Schritte der Modellierung C.O. 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

11 11 Schritte der Modellierung C.O. Wirklichkeit 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

12 12 Schritte der Modellierung C.O. Wirklichkeit 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

13 13 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

14 14 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. Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen

15 15 Klasse: Der letzte Schliff! C.O. Kfz Hersteller: Text Typ: 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

16 16 Und nochmal: Von der Klasse … C.O. Kfz Hersteller: Text Typ: 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

17 17... 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

18 18 Erweiterung und Erklärung C.O. :Kfz Hersteller = Daihatsu Typ= Terios ……… Hubraum = 1495 Nennleistung (KW bei 6000U/min)= 77 ……… Farbe= rot ……. Grundreis= Leasingsonderzahlung= … 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

19 19 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

20 20 Eine Lösung C.O. Kunde Ku_Nummer : integer Name : String Adresse : 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

21 21 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

22 22 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

23 23 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

24 24 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

25 25 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

26 26 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

27 27 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

28 28 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

29 29 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

30 30 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

31 31 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

32 32 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

33 33 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

34 34 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! Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen Modelle und Modellierung Klassen- diagramme Objekte erzeugen Methoden aufrufen Signaturen Java Quellen

35 35 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

36 36 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

37 37 C.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

38 38 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

39 39 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

40 40 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

41 41 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

42 42 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

43 43 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

44 44 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

45 45 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

46 46 Quellcode C.O. 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

47 47 Zuerst die Klasse C.O. Kfz hersteller: Text typ: Text hubraum: 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.

48 48 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(); } 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

49 49 C.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).

50 50 C.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

51 51 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 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

52 52 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 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

53 53 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 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übergabe Zuweisung

54 54 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(); } 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

55 55 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(); } 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

56 56 C.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)

57 57 C.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

58 58 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 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

59 59 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: */ 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; }

60 60 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(); }


Herunterladen ppt "1 Modelle und Modellierung C.O. Wirkliche Welt: Autohaus Modell: Idealisierte Darstellung (Abbildung) der realen Welt zur Veranschaulichung bestimmter."

Ähnliche Präsentationen


Google-Anzeigen