In Object Oriented Programming Delegation refers to a technique often presented as an alternative to multiple inheritance.

Whereas in inheritance objects form an 'is a' relationship, in Delegation objects form a 'has a' relationship.

Scott Meyers in his book Patterns in Java Volume 1 makes the claim that Delegation is a design pattern but I'm somewhat dubious about that, it seems to me more like a general technique than a 'pattern'.

Note also that Delegation is very similar in concept to a much older idea mixins.

Delegation is very well supported in the Ruby programming language both as a built in library object/function and in the form of mixins called modules.