How to use polymorphism with abstract class in Python

1 Answer

0 votes
class Worker:
    def __init__(self, name):
        self.name = name

    def show(self):
        raise NotImplementedError("You must implement abstract method")


class Programmer(Worker):
    def show(self):
        return 'Programmer'


class CTO(Worker):
    def show(self):
        return 'cto - chief technology officer'


company = [Programmer('p1'),
           Programmer('p2'),
           CTO('c1'),
           CTO('c2')]


for c in company:
    print(c.name, ': ', c.show())


'''
run:
 
p1 :  Programmer
p2 :  Programmer
c1 :  cto - chief technology officer
c2 :  cto - chief technology officer
 
'''

 



answered Jun 20, 2018 by avibootz

Related questions

1 answer 192 views
1 answer 188 views
1 answer 171 views
1 answer 202 views
1 answer 159 views
159 views asked Apr 1, 2018 by avibootz
2 answers 375 views
375 views asked Jul 4, 2017 by avibootz
...