what is composition in python code example
Example 1: what is composition in python
# It's when a class has a (is made-of) another class.
# Example
class Thing(object):
def func(self):
print("Function ran from class Thing().")
class OtherThing(object): # Note that I don't use inheritance to get the func() function
def __init__(self):
self.thing = Thing() # Setting the composition, see how this class has-a another class in it?
def func(self):
self.thing.func() # Just runs the function in class Thing()
def otherfunc(self):
print("Function ran from class OtherThing().")
random_object = OtherThing()
random_object.func() # Still works, even though it didn't inherit from class Thing()
random_object.otherfunc()
Example 2: function composition python
def compose2(f, g):
return lambda x: f(g(x))
Example 3: composition in python
In composition one of the classes is composed of one or more instance of other classes. In other words one class is container and other class is content and if you delete the container object then all of its contents objects are also deleted