Everything about Delegation (object-oriented programming)
Evaluation and comparison of objects
In object-oriented programming, delegation refers to evaluating a member of one object in the context of another original object. Delegation can be done explicitly, by passing the responsibilities of 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. Wikipedia →
đź§ Start here: a 6-step reading path
- Read the overview: Delegation (object-oriented programming)A 5-minute orientation
- Pick up a classic book: Police AdministrationThe most-reprinted book on the subject
- Go sideways: Forwarding (object-oriented programming)A closely related topic
- Go sideways: Composition over inheritanceA closely related topic
đź“– Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Police AdministrationGary W. Cordner, Kathryn E. Scarborough · 1999
Learning PythonMark Lutz, David Ascher · 1999
The Conspirators HierarchyJohn Coleman · 1992
Treaty Occupationay ToxicologySuelen Queiroz · 2010
Software EssentialsAdair Dingle · 2014
PTAexamScott M. Giles · 2010
Microsoft Visual Basic 2010 developer's handbookKlaus Löffelmann · 2011
The Interpretation of Object-Oriented Programming LanguagesIain Craig · 2000
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
đź”— Related topics
- Forwarding (object-oriented programming) In object-oriented programming, forwarding means that using a member of an object (either a property or a method) results in actually using the corresponding…
- Composition over inheritance In object-oriented programming, composition over inheritance (sometimes composition with forwarding or composite reuse) is a common design pattern that…
- Schizophrenia (object-oriented programming) Object schizophrenia or self schizophrenia is a complication arising from delegation and related techniques in object-oriented programming, where self/this…
- Prototype-based programming Prototype-based programming is a style of object-oriented programming in which behavior reuse (known as inheritance) is performed via a process of reusing…
- Inheritance (object-oriented programming) In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-base…
- Delegation pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows object composition to achieve the same code reuse as inheritanc…
- Virtual function In object-oriented programming such as is often used in C++ and Object Pascal, a virtual function or virtual method is an inheritable and overridable function…
- Decorator pattern In object-oriented programming, the decorator pattern is a design pattern that allows behavior to be added to an individual object dynamically, without…