How to use factory method in class and create objects using factory method in Python

1 Answer

0 votes
class Worker(object):

    def factory(profession):
        if profession == "Python Programmer":
            return PythonProgramme()
        if profession == "C Programmer":
            return CProgrammer()
        assert 0, "Error create: " + profession

    factory = staticmethod(factory)


class PythonProgramme(Worker):
    def work(self):
        print("Python Programmer")


class CProgrammer(Worker):
    def work(self):
        print("C Programmer")

# Create objects using factory method

py = Worker.factory("Python Programmer")
py.work()

c = Worker.factory("C Programmer")
c.work()


'''
run:
 
Python Programmer
C Programmer
 
'''

 



answered Jun 21, 2018 by avibootz

Related questions

4 answers 331 views
1 answer 157 views
1 answer 165 views
1 answer 145 views
1 answer 245 views
2 answers 186 views
...