| |

Fortgeschrittene ProgrammierungRe: Delegate - bitte um Info | |  | Autor: VBStein | Datum: 25.10.08 21:06 |
| Hai,
Dieser Satz hier:
Bei der Delegation verwendet eine Klasse die Dienste von Objekten, von denen sie nicht abgeleitet ist,
ist Bullshit. Objekte haben Methoden, Eigenschaften und Events, aber keine Dienste.
Die explizite Übertragung der Aufgaben per Delegate macht den Code verständlicher. Sinn macht dies zum Beispiel, wenn identische Funktionalität in verschiedenen Klassen benötigt wird, die nicht in einer gemeinsamen Vererbungslinie stehen.
*LoL* ... so schwätzen sie, die .NET Multiplizierer.
hmmm... eigentlich geht es genau um TypeCasting. Ich muss etwas formen, was anstatt (Delegate) von bisherigem in dieser Klasse getan wird.
Was passiert konkret bei Delegates:
Ein Delegate ist mal ein Object, sprich: eine instanzierte Klasse -> beliebige Klasse, nur muss sie nachher als Delegate in den Konsenz passen! Was Text aufnimmt muss eine Methode Text haben, sonst geht es nicht.
Beispiel: Du hast ein Grid entworfen und darin sind die einzelnen Zellen: Statik-controls - sie zeigen nur was an, aber kein editieren möglich. Nehmen wir weiter an, dass diese Klasse Grid Statik-Controls als Klassen verwendet um dann diesen ViewPort so anzuzeigen.
Lasse dich von ViewPort ja nicht aus der Ruhe bringen ;) Das meint: Momentan sichtbare Oberfläche.
Jetzt wird es plötzlich Delegate!
Dieses statische Control (ein Label) wird plötzlich zu einem Edit-Control, was dem User nun auf einemal die Eingabe von Text erlaubt.
Heilix Blechle! Eben noch ignoriert das Ding die Tastatur, jetzt geht es auf einemal ...
Das erleben User weltweit, wenn sie einer Listview mit Edit-Eigenschafte in die zeile klicken oder ganz konkret: Wenn sie doppelt in eine Excel-Zelle klicken, dann wird ein Delegate eingeschoben: Aus Static wird plötzlich Edit. Das macht: Delegates sind nicht eine Erfindung der .NET-Welt, sondern ein längst bekanntes Verfahren bei der Entwicklung. Nur M$ meint das nun Kinderleicht umgesetzt haben zu wollen.
TypeCasting von einem Label-Control in ein Edit-Control; SWAP!
Das Edit-Control ist in dieser Rolle der Delegate, der ein Static-Control vertritt und aber seine
erweiterten Methoden zur Verfügung stellt.
Das Konzept davon, und davon ist in .NET ausführlichst dann die Rede, ist die fantastische Welt der Delegates ... gähn ... . Gut daran ist: M$ hat sein Klassenmodel natürlich genau darauf abgestimmt, WAS! alles delegate sein darf und was nicht.
ooP-Normal wäre: Was identische Schnittstellen hat, um bestimmte Funktionalität vom bisherigen Control mit übernehmen zu können, um sich dann daran einzuhängen und das Verhalten von bisherigen Klassen an dieser Stelle zu erweitern.
PS.: -> Ja, das ist QT
Beitrag wurde zuletzt am 25.10.08 um 21:33:26 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|