Objekte und Klassen Einführung der Begriffe Objekt und Attribut Elektronische Dokumente bestehen aus einzelnen Objekten Die Eigenschaften der Objekte werden durch Attribute beschrieben
rechteck2 Learning Object-Oriented Programming Objekte Elektronische Dokumente bestehen aus Objekten Vektorgrafiken: Linien, Kreise, Rechtecke, Textblöcke Rastergrafiken: Bildpunkte Eindeutige Identifizierung über Bezeichner text1 kreis1 rechteck1 r = 5LE b = 6LE kreis2 text2 b = 1,5LE r = 1LE
Attribute Eigenschaften der Objekte werden durch die Werte ihrer Attribute beschrieben Objekt: kreis1 Attribut: linienfarbe kreis1.linienfarbe = blau
Objekte und Klassen Einführung des Begriffs der Klasse Einteilung der Objekte in Klassen Objekte der gleichen Klasse haben die gleichen Attribute
Klassen Art von Objekten mit gleichen Attributen z.b. besitzt Kreis eine Füllfarbe und Linie nicht Je nach der Menge ihrer Attribute teilt man Objekte in Klassen ein Objekte der gleichen Klassen haben dieselben Attribute Aber nicht notwendigerweise dieselben Attributwerte! Konstruktionsplan für bestimmte Objekte Existiert mit all ihren Informationen auch ohne diese Objekte Eine Klasse ist keine Menge von Objekten!
Beispiel Textdokumente bestehen aus Objekten der Klasse ZEICHEN der Klasse ABSATZ Attribute der Klasse ZEICHEN Schriftart Schriftgröße Schriftstil
Objekte und Klassen Darstellung mittels Objektkarten und Klassenkarten Objekte und deren Attribute können in Objektkarten dargestellt werden Klassenkarten sind Objektkarten ohne Attributwerte
Objektkarten Objekte bestehen aus Attributen Attribute haben zu einem bestimmten Zeitpunkt einen bestimmten Wert Objektkarte zeigt alle Informationen eines Objektes Bezeichner des Objektes Angabe der Klasse buchstabe1:zeichen inhalt2:absatz Attributbezeichner schriftart = Arial schriftgröße = 18pt schriftstil = kursiv laufweite = 1 Attributwert ausrichtung = zentriert abstandvor = 2pt abstandnach = 2pt zeilenabstand = 1,5
Klassenkarten Darstellung Klasse in Klassenkarten Fehlen der Attributwerte Klassenkarte stellt alle grundlegenden Informationen einer Klasse dar schriftart schriftgröße schriftstil laufweite ZEICHEN ABSATZ ausrichtung abstandvor abstandnach zeilenabstand
Objekte und Klassen Verändern der Attributwerte mit Methoden und Parametern Objekte können bestimmte Operationen (Methoden) ausführen Parameter legen fest, mit welchen Eingaben Methoden ausgeführt werden sollen
Methoden Objekte können auf Befehl gewisse Operationen (Methoden) ausführen z. B. hat ein Objekt der Klasse CDSpieler die Methode auswerfen Kreise, Rechtecke oder Buchstaben können sich drehen, horizontal oder vertikal spiegeln, verschieben, ausschneiden oder löschen Diese Operationen werden durch den Aufruf einer Methode ausgelöst, z. B. buchstabe1.horizontalspiegeln() Werden in Klassenkarten dargestellt
Standardmethoden Jedes Objekt verfügt über bestimmte Methoden, die zu seiner Handhabung notwendig sind Methode zum Verändern oder Abfragen der Werte für jedes Attribut rechteck1.füllen(rot) und rechteck1.füllfarbeausgeben() dienen hauptsächlich dem Zugriff auf seine Attribute und werden daher oft nicht mehr explizit aufgeführt
Parameter Argumente (Parameter), die festlegen, mit welchen Eingaben Methoden ausgeführt werden z.b. um welche Strecke ein Objekt verschoben werden soll Parameter werden in einer festgelegten Reihenfolge in Klammern notiert z.b. buchstabe1.verschieben(2cm, 3cm) 2cm -3cm
Anwendung in Objekt- und Klassenkarten Methodenbezeichner buchstabe1:zeichen schriftart = Arial schriftgröße = 18pt schriftstil = kursiv laufweite = 1 fettsetzen() schriftfarbesetzen(wert) schriftart schriftgröße schriftstil laufweite ZEICHEN fettsetzen() schriftfarbesetzen(wert) Parameter
Objekte und Klassen Konstruktion von Grafiken durch Methodenaufrufe Aufbau von Grafiken lässt sich konstruktiv durch eine Folge von Methodenaufrufe beschreiben Trinket.io
Konstruktion durch Programmierung Aufbau von Grafiken lässt sich konstruktiv durch eine Folge von Methodenaufrufe beschreiben RECHTECK("objektname") fuellen(farbe) verschiebennach(x, y) setzehoehe(laengeneinheit) setzebreite(laengeneinheit) KREIS("objektname") fuellen(farbe) verschiebennach(x, y) setzeradius(laengeneinheit)
Konstruktion durch Programmierung KREIS("k1") k1.verschiebenach(50, 50) k1.setzeradius(20) k1.fuellen("blue")
Konstruktion durch Programmierung KREIS("k1") k1.verschiebenach(50, 50) k1.setzeradius(20) k1.fuellen("blue") RECHTECK("r1") r1.verschiebenach(57, 45) r1.setzebreite(3) r1.setzehoehe(5) r1.fuellen("red")
Konstruktion durch Programmierung KREIS("k1") k1.verschiebenach(50, 50) k1.setzeradius(20) k1.fuellen("blue") RECHTECK("r1") r1.verschiebenach(57, 45) r1.setzebreite(3) r1.setzehoehe(5) r1.fuellen("red") RECHTECK("r2") r2.verschiebenach(40, 45) r2.setzebreite(3) r2.setzehoehe(5) r2.fuellen("red")
Konstruktion durch Programmierung
Objekte und Klassen Objekt- und Klassendiagramme Objektdiagramm zeigt den aktuellen Zustand Klassendiagramm visualisiert Beziehungen zwischen Klassen
Objektdiagramm Strukturdiagramm Bestimmte Sicht auf die Struktur des modellierten Systems Umfasst Ausprägungsspezifikationen von Klassen und Assoziationen Zeigt den aktuellen Zustand, d. h. die Belegung der Attribute Ausprägungsspezifikation für eine Objektbeziehung hans:person vorname = Hans nachname = Meier alter = 50 vater sohn peter:person vorname = Peter nachname = Meier alter = 20
Klassendiagramm Strukturdiagramm Grafische Darstellung von Klassen, Schnittstellen sowie deren Beziehungen Attribute haben keine genauen Werte LEHRER name fächer sprechstunde prüfen() unterrichtet in > SCHULKLASSE bezeichner anzahl Schüler ausbildungsrichtung klassenzimmer anlegen() klassenzimmersetzen() < gehört zu SCHÜLER name alter erziehungsberechtigte krankmelden() versetzen()
Objekte und Klassen Zustände von Objekten und Zustandsdiagramme Zustand eines Objektes ist Gesamtheit der Werte aller seiner Attribute Zustandsdiagramm ist die grafische Darstellung der Übergänge zwischen Zuständen eines Objektes
Zustände von Objekten Der Zustand eines Objektes wird durch die Gesamtheit der Werte aller seiner Attribute definiert, d.h.: Ein Objekt ändert seinen Zustand, wenn sich der Wert mindestens eines seiner Attribute ändert. Zwei Objekte der gleichen Klasse sind im gleichen Zustand, wenn sie in den Werten aller ihrer Attribute übereinstimmen. Veränderung des Wertes eines Attributes führt zu Änderung des Zustandes eines Objektes Zustandsänderung durch unmittelbare Zuweisung eines neuen Wertes an das Attribut indirekte Wertzuweisung durch eine andere Methode
Beispiel kreis1 kreis1 Zustand 1: kreis1.füllfarbe = orange kreis1.füllen(grün) Zustand 2: kreis1.füllfarbe = grün
Zustandsdiagramm Darstellung von Zuständen und deren Übergangsbedingungen Enthaltene Verknüpfungen möglichst durchschaubar und eindeutig visualisieren
Zustandsdiagramm Ampel Zustand auslösende Aktion rot 10s abgelaufen gelb-rot 10s abgelaufen Übergang 10s abgelaufen gelb 10s abgelaufen grün