Programming Tutorials

Delegation in python

By: Koothrapalli in Python Tutorials on 2012-04-07  

In Python, delegation refers to the process of passing a method call from one object to another object that performs the actual behavior of the method. Delegation is a design pattern that allows objects to collaborate with each other in a flexible and dynamic way.

Delegation can be implemented in Python by defining a class that contains a reference to another object and delegates method calls to that object. The delegated object is typically passed as an argument to the constructor of the delegating class.

Here's an example:

class Delegate:
    def do_something(self):
        print('Delegate doing something')

class Delegator:
    def __init__(self, delegate):
        self.delegate = delegate

    def do_something(self):
        self.delegate.do_something()

delegate = Delegate()
delegator = Delegator(delegate)
delegator.do_something()  # Output: Delegate doing something

In this example, the Delegate class defines the behavior of the do_something() method. The Delegator class contains a reference to a Delegate object and delegates calls to the do_something() method to that object.

When an instance of Delegator is created, it is passed an instance of Delegate as an argument. The do_something() method of Delegator simply calls the do_something() method of the Delegate object.

By using delegation, the behavior of Delegator can be changed dynamically by passing in different objects that implement the same methods as Delegate. This makes it easy to modify the behavior of an object at runtime without having to change its implementation directly.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Python )

Latest Articles (in Python)