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.