Gut, also, wie gesagt, wir arbeiten uns ja vom etwas einfacheren oder kleineren hin zu
fortgeschrittenen Themen nach Methoden, Methodentypen, Klassen, Schnittstellen, Färbungsschnittstellen,
jetzt die Frage, wie bauen wir denn überhaupt insgesamt mal Klassenbäume. Schnittstellen,
dabei immer mitgedacht und Klassen-Färbung-Strukturen. Und da werden wir jetzt zum Beispiel feststellen,
dass wir zwar den Begriff Färbung benutzen, der aber mehr deutig ist und dass zum Beispiel
Informatiker, die gern aus mathematischer Sicht über die Programmierung nachdenken,
von Typen reden, repräsentiert durch Schnittstellen, wobei dann die Färbungsbeziehung zwischen
Klassen eine Subtyp-Beziehung wird, woran sich dann aber eben wieder formalisiert durch
entsprechende Mechanismen bestimmte Logik knüpft, die wir versuchen hier anzugehen.
So, schauen wir uns doch mal Subtyping an. Subtyping im Sinne sind bestimmte Konzepte,
fachliche Konzepte als Subtypen, soll heißen als semantische Spezialisierung, muss man
in der Implementierung vielleicht, nicht immer, aber vielleicht zu Oberklassen-Unterklassen-Beziehungen
machen, gegeben. Also hier Subtyping, wir haben die Idee, es gibt ein fachliches Konzept,
ein abstraktes fachliches Konzept, ein grafisches Objekt. Wir sind dabei, einen grafischen
Editor-Mahlwerkzeug oder so zu entwickeln und da wollen wir jetzt Klassen einführen
oder fachliche Konzepte für Dreieck, Quadrat und Kreis. Wie stehen die dann jetzt zu einem
grafischen Objekt als offenkundig irgendwie abstrakterem Typen? Was ist die semantische,
logische, fachinherente Beziehung zwischen diesen drei Arten von Objekten, die ein Benutzer
vielleicht auf dem Bildschirm malen möchte und einem abstrakten Typen Graphical Object?
Was meint ihr? Was meinen Sie? Also wenn ich Typ sage, dann meine ich abstrakte Datentypen,
wie Sie das in AOD kennengelernt haben und zwischen Typen gibt es halt Super- und Subtyp-
Beziehungen und das ist logisch ähnlich wie die Vererbung, aber es muss halt mathematische
Konformanz da sein, soll heißen die Subtypen entsprechen semantisch dem Möglichkeitenraum,
der durch den Supertypen aufgespannt wird, da kommen wir noch zu. Bleiben Sie einfach
bei Ihrer Intuition erst einmal. Dreieck, Quadrat, Kreis, sind das grafische Objekte
die erste Frage? Ich möchte den Chat sehen. Achso, du hast es so doppelt. Okay, ich kann
das Vollbild machen, dann sehe ich den Chat halt nicht. Na gut, dann muss ich mich halt
unterbrechen. Gut, also bleiben wir hier bei. Also sind das alles grafische Objekte? Offenkundig,
natürlich will ein Benutzer, früher oder später nehmen wir mal an, diese Objekte malen
können. Gibt es eine Beziehung zwischen diesen Objekten? Also zwischen den Klassen oder den
Typen, von denen dann konkrete Objekte dieser Art Instanzen sind auf einem Canvas, auf dem
man so rummalt. Was sehen Sie für Beziehungen? Okay, genau, man kann ja jetzt so drauf gucken,
anfangen zu interpretieren. Die sind alle irgendwie symmetrisch, haben alle einen Schwerpunkt
vielleicht. Also sind vielleicht nicht ganz symmetrisch, aber sie haben vielleicht einen
Schwerpunkt. Zwei von denen haben sowas wie Kanten und Ecken, aber der Kreis halt nicht.
Kommen wir glaube ich in der nächsten Folie drauf, daraus könnte man ja was konstruieren.
Konzept Polygon, ist Ihnen bestimmt bekannt, aber vielleicht sind das ja alles Polygone.
Hier sieht man es noch mal ein bisschen extremer. Vier unterschiedliche Objektarten, halt was
auch immer, das ist ein Karo, ein flach liegendes Rechteck und ein Quadrat soll das sein. Und
auch hier wird die Frage, als grafische Objekte will bestimmt jemand, die malen können. Die
Ähnlichkeiten sind hier, genau, alle sind vier Ecken mit 90 Grad Winkeln vielleicht,
da kann man ja sogar hier unten eine Färbungsbeziehung bauen oder eine Subtypbeziehung. Würden Sie
sagen, nicht nur diese drei Arten von Objekten sind grafische Objekte, also alle haben so
eine super Subtyp- oder eben Oberklasse- Unterklasse-Beziehung, sondern auch hier unten gibt es irgendwie
etwas. Na ja, gucken Sie sich meinetwegen, also hier ist ein Quadrat, Sie könnten einfach
sagen, das ist doch dasselbe, nur irgendwie zusätzlich schüren wir ein Winkelattribut
ein. Dann haben wir hier zweimal das gleiche abgebildet. Oder Sie sagen hier, na ja, das
ist ein Viereck, aber eigentlich ist das hier das Quadrat und das Rechteck. Kann denn nicht
eines von dem anderen die Unterklasse sein? Ist Quadrat eine Unterklasse von Rechteck
oder ist Rechteck eine Unterklasse von Quadrat? Wer würde sagen Rechteck, also Quadrat, eine
Presenters
Zugänglich über
Offener Zugang
Dauer
01:04:32 Min
Aufnahmedatum
2019-11-18
Hochgeladen am
2019-11-29 12:40:06
Sprache
de-DE