Delegation (Softwareentwicklung)

Delegation (von englisch delegation ‚Abordnung‘, ‚Übertragung‘) hat in der objektorientierten Programmierung verschiedene Bedeutungen, die alle mit dynamischer Methodenbindung zur Programmlaufzeit zu tun haben:

  • insbesondere in .NET-Sprachen wie C# eine objektorientierte Variante von Methodenzeigern.
  • objektbasierte Vererbung (im Gegensatz zur üblichen klassenbasierten Vererbung). Hierbei übernimmt ein Objekt (automatisch) Eigenschaften und Funktionalitäten, die es selbst nicht explizit definiert, von einem anderen konkreten Objekt, seinem Prototyp.
  • ursprünglich die Implementierung von Methoden eines Objekts durch Aufruf äquivalenter Methoden eines anderen Objekts, auch englisch consultation (für Absprache, Beratung) oder invocation (Aufruf) genannt. Diese Variante passt zu den Entwurfsmustern Proxy und Adapter.
  • Die Sprache Objective-C kennt das Schlüsselwort delegate als Funktionalitätsspezialisierung: Hier kann ein Objekt zur Laufzeit nach einer beliebigen Funktionalität (Methode) befragt werden. Diese wird dann im Kontext des fragenden Objekts eventuell ausgeführt, als sei sie Teil des fragenden Objekts.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.