Verwandtschaft
Die Umrisse von Type-1-Schriften bestehen aus Geraden und Kurven. Jede Gerade wird durch zwei Knotenpunkte definiert, die Kurve durch zwei Knotenpunkte und zwei Kontrollpunkte. Um zwischen den beiden verschiedenen Punktarten unterscheiden zu können, wird jede als eigene Klasse eingeführt.
Bei dem in Listing 3 beschriebenen Beispiel erben die beiden Klassen von der Klasse Punkt. Hierzu dient das Schlüsselwort inherit. Der Konstruktor reicht die notwendigen Variablen an die Basisklasse durch. In der Definition der abgeleiteten Klasse lassen sich weitere Variablen und Methoden hinzufügen - wie im Listing 3 die Methode koordinaten in der Klasse Knotenpunkt.
Bislang fehlt eine Möglichkeit, die Objekte im Canvas darzustellen. Normalerweise würde man diese Methode in der Punkt-Klasse unterbringen. Um allerdings die Mehrfachvererbung zu demonstrieren, definiert das Beispiel extra eine eigene Klasse Zeichnen.
Wie der Kontrollpunkt zeigt, ist auch die Mehrfachvererbung ziemlich einfach zu verwenden. Allerdings ist sie nicht ganz unproblematisch. Man stelle sich nur die Frage: Was passiert, wenn zwei Basisklassen jeweils eine Methode mit dem gleichen Namen enthalten. Bei [incr Tcl] wird die Methode aus der zuerst geerbten Basisklasse verwendet, was eventuell gar nicht gewollt ist. Ein weiteres Problem, das bei Mehrfachvererbung entstehen kann, ist die Diamond Inheritance (siehe Abbildung 1). Dieser Fall wird bei [incr Tcl] gar nicht unterstützt.
Eine Type-1-Schrift besteht aber nicht nur aus einzelnen Punkten, es fehlen noch die Umrisse. Damit lässt sich ein weiteres Feature der objektorientierten Programmierung einführen: die Delegation.
Damit ist gemeint, dass eine Klasse Aufgaben an Objekte einer anderen Klasse vergibt. In diesem Fall wird eine Gerade durch zwei Knotenpunkte definiert und muss sich um die Darstellung und Datenhaltung nicht selber kümmern. Immer wenn die Linie ihre Knotenkoordinaten benötigt, kann sie diese von den Knotenobjekten abfragen. Die Knoten werden dazu in der Linien-Klasse gespeichert (Listing 4).
Meins!

|
Abbildung 1: Mögliche und unmögliche Beziehungen zwischen Klassen bei [incr Tcl]. Vererbung, Mehrfachvererbung und Delegation sind erlaubt, nicht aber die Diamond Inheritance.
|
Zur Datenkapselung gehört auch, dass eine Klasse entscheiden kann, wer auf ihre Variablen und Methoden zugreifen darf. [incr Tcl] unterstützt drei verschiedene Stufen:
n public: Die Methode oder Variable ist für alle zugänglich.
n protected: Nur innerhalb der Klasse selbst oder in von ihr abgeleiteten Klassen verwendbar.
n private: Nur innerhalb der Klasse selbst zugänglich.
Die Koordinaten eines Punkts waren bisher durch configure beliebig modifizierbar, ohne dass etwa eine Überprüfung der Werte stattgefunden hätte. Sind die Koordinaten als protected definiert, sind sie nur noch mit der Methode verschieben änderbar.
class Punkt {
protected variable x
protected variable y
# ...
}
Die abgeleiteten Klassen dürfen direkt auf die Variablen zugreifen, ohne auf die speziellen Methoden angewiesen zu sein. Würde man die Koordinaten dagegen in die Stufe private einordnen, könnten auch die abgeleiteten Klassen nicht mehr direkt auf sie zugreifen.
| Whitepaper |
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|