10.07.2015 Aufrufe

2 Grundkonzepte objektbasierter Datenbanksysteme - Public.fh ...

2 Grundkonzepte objektbasierter Datenbanksysteme - Public.fh ...

2 Grundkonzepte objektbasierter Datenbanksysteme - Public.fh ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

FachhochschuleBraunschweig/WolfenbüttelDipl.-Inform. Holger MärtensObjektbasierte DatenbankenSS 2008Seite14 Alternative: Subklassen werden durch Bedingungen aufexistierenden Attributen bestimmt, z.B. durch Einschränkung desWertebereichso nicht alle diese Varianten in jedem Objekt(meta)modell abgedeckt• Mehrfachvererbung (multiple inheritance) [Geppert, Abb. 2-7]o Subklasse kann von zwei oder mehr Superklassen erbeno dabei mögliche Konflikte durch Attribute gleichen Namens oderMethoden gleicher Signatureinfacher Fall: Vererbung derselben Eigenschaft entlang mehrererPfade aus gemeinsamer "Ober-Oberklasse"(z.B. TeachingAssistant von Person) sonst Auflösung z.B. durch Auswahl oder Umbenennungo Mehrfachvererbung deshalb in vielen Modellen/Sprachen ausgeschlossen z.B. Java, SQL:1999, ODMG• Polymorphieo allgemein: Verwendung eines Operators in unterschiedlichen Kontexten,z.B. "+" für Ganzzahl, Fließkommazahlen, Strings korrekte Operation dann durch Typen der Argumente bestimmt statische Polymorphie, erkennbar durch Compilero in OOP: gleicher Name für verschiedene Methoden derselben Klasse aber unterschiedliche Signatur (Parameteranzahl, -typen) auch: Überladen (overloading)o Spezialform: Überschreiben von Methoden gleicher Signatur durchSubklasse bei Substitution von Subklasseninstanzen für Superklassen soll dieMethode des feinsten Typs verwendet werden dies kann nur zur Laufzeit erkannt werden dynamische Polymorphie = "spätes Binden" (late binding)2.1.4 Abstrakte Klassen und Schnittstellen• abstrakte Klasseno = Klassen, die niemals direkt, sondern nur in ihren Subklassen instantiiertwerdeno Definition allgemeiner Eigenschaften (Attribute und Methoden), die inallen Subklassen vorhanden solleno d.h. Implementierung von Struktur und Verhalten• Schnittstellen (interfaces)o ähnlich wie abstrakte Klasseno definieren aber nur Verhalten (Methoden)o keine Vorgaben für Implementierung, sondern nur SignaturenImplementierung allein den von der Schnittstelle abgeleiteten sog.Implementierungsklassen vorbehalteno (ggf. mehrfache) Vererbung von Schnittstellen an Klassen oder an andereSchnittstellen2.1.5 Objektbeziehungen• Beziehungen [Geppert, Abb. 2-9]o repräsentieren Zusammenhänge zwischen Objekteno werden auf Klassenebene definiert und für einzelne Objekte instantiierto realisiert mit Hilfe der Objektidentifikatoreno allgemeine Beziehungen verbinden zwei oder mehr Objekte

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!