Delegation (object-oriented programming)

In object-oriented programming, delegation refers to evaluating a member (property or method) of one object (the receiver) in the context of another original object (the sender). Delegation can be done explicitly, by passing the sending object to the receiving object, which can be done in any object-oriented language; or implicitly, by the member lookup rules of the language, which requires language support for the feature. Implicit delegation is the fundamental method for behavior reuse in prototype-based programming, corresponding to inheritance in class-based programming. The best-known languages that support delegation at the language level are Self, which incorporates the notion of delegation through its notion of mutable parent slots that are used upon method lookup on self calls, an

Comment
enIn object-oriented programming, delegation refers to evaluating a member (property or method) of one object (the receiver) in the context of another original object (the sender). Delegation can be done explicitly, by passing the sending object to the receiving object, which can be done in any object-oriented language; or implicitly, by the member lookup rules of the language, which requires language support for the feature. Implicit delegation is the fundamental method for behavior reuse in prototype-based programming, corresponding to inheritance in class-based programming. The best-known languages that support delegation at the language level are Self, which incorporates the notion of delegation through its notion of mutable parent slots that are used upon method lookup on self calls, an
DifferentFrom
Forwarding (object-oriented programming)
Has abstract
enIn object-oriented programming, delegation refers to evaluating a member (property or method) of one object (the receiver) in the context of another original object (the sender). Delegation can be done explicitly, by passing the sending object to the receiving object, which can be done in any object-oriented language; or implicitly, by the member lookup rules of the language, which requires language support for the feature. Implicit delegation is the fundamental method for behavior reuse in prototype-based programming, corresponding to inheritance in class-based programming. The best-known languages that support delegation at the language level are Self, which incorporates the notion of delegation through its notion of mutable parent slots that are used upon method lookup on self calls, and JavaScript; see JavaScript delegation. The term delegation is also used loosely for various other relationships between objects; see delegation (programming) for more. Frequently confused concepts are simply using another object, more precisely referred to as consultation or aggregation; and evaluating a member on one object by evaluating the corresponding member on another object, notably in the context of the receiving object, which is more precisely referred to as forwarding (when a wrapper object doesn't pass itself to the wrapped object). The delegation pattern is a software design pattern for implementing delegation, though this term is also used loosely for consultation or forwarding.
Is primary topic of
Delegation (object-oriented programming)
Label
enDelegation (object-oriented programming)
Link from a Wikipage to an external page
web.media.mit.edu/~lieber/Lieberary/OOP/Delegation/Delegation.html%7Cdoi=10.1145/960112.28718
web.archive.org/web/20070916214628/http:/www.codeproject.com/cpp/CppDelegateImplementation.asp
perfectjpattern.sourceforge.net/delegates.html
web.archive.org/web/20070701084227/http:/www.codeproject.com/cpp/FastDelegate.asp
web.archive.org/web/20120329110415/http:/www.it-c.dk/people/kbilsted/graversen06thesis.pdf
citeseer.ist.psu.edu/stein89shared.html
Link from a Wikipage to another Wikipage
Adapter pattern
Addison-Wesley
Aggregation (object-oriented programming)
Aspect-oriented programming
Category:Object-oriented programming
Category:Prototype-based programming
Class-based programming
Continuation
C Sharp (programming language)
Delegate (CLI)
Delegation (programming)
Delegation pattern
Dynamic binding (computer science)
Forwarding (object-oriented programming)
Henry Lieberman
Hooking
Immutable object
Implementation inheritance
Inheritance (object-oriented programming)
Inheritance semantics
Java (programming language)
JavaScript
MacOS
Method (computer programming)
NeXTStep
Object (computer science)
Object aggregation
Object-oriented language
Object-oriented programming
Object schizophrenia
Property (programming)
Prototype-based programming
Pseudocode
Role-oriented programming
Schizophrenia (object-oriented programming)
Self (programming language)
Self-call
Slot (computer architecture)
Software design pattern
Virtual inheritance
Wrapper function
SameAs
Delegació (programació)
Delegación (informática)
Delegation
Delegation (object-oriented programming)
Delegation (Softwareentwicklung)
ETMQ
Q1184069
Делегирование (программирование)
واگذاری (برنامه‌نویسی شیءگرا)
委托 (面向对象程序设计)
委譲
Subject
Category:Object-oriented programming
Category:Prototype-based programming
WasDerivedFrom
Delegation (object-oriented programming)?oldid=1117145858&ns=0
WikiPageLength
13815
Wikipage page ID
604333
Wikipage revision ID
1117145858
WikiPageUsesTemplate
Template:Citation needed
Template:Cite book
Template:Code
Template:Distinguish
Template:Efn
Template:ISBN
Template:Notelist
Template:Other uses
Template:Quote
Template:Refbegin
Template:Refend
Template:Reflist
Template:Sfn