Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Angajat:
- def __init__(self, nume, sef):
- self.nume = nume
- self.sef = sef
- if sef != None:
- sef.addSubaltern(self)
- def printName(self):
- print 'Nume: %s' % self.nume
- def getName(self):
- return self.nume
- def changeName(self, numeNou):
- self.nume = numeNou
- class Programator(Angajat):
- def __init__(self, nume, limbaje, sef):
- Angajat.__init__(self, nume, sef)
- self.limbaje = limbaje
- def limbajeCunoscute(self):
- print '%s cunoaste ' % self.nume,
- for limbaj in self.limbaje:
- print '%s ' % limbaj,
- print '\n'
- class Tester(Angajat):
- def __init__(self, nume, tip, sef):
- Angajat.__init__(self, nume, sef)
- self.tipTester = tip
- class Manager(Angajat):
- def __init__(self, nume, sub, sef):
- Angajat.__init__(self, nume, sef)
- self.subalterns = set(sub)
- def removeSubaltern(self, sub):
- self.subalterns.discard(sub)
- def addSubaltern(self, sub):
- self.subalterns.add(sub)
- def printSubalterns(self):
- print '%s has %s subalterns' % (self.nume, len(self.subalterns))
- for sub in self.subalterns:
- print '>> %s' % sub.getName()
- class TeamManager(Manager):
- def __init__(self, nume, sub, sef):
- Manager.__init__(self, nume, sub, sef)
- class ProjectManager(Manager):
- def __init__(self, nume, sub, sef):
- Manager.__init__(self, nume, sub, sef)
- class GeneralManager(Manager):
- def __init__(self, nume, sub, sef):
- Manager.__init__(self, nume, sub, sef)
- patron = GeneralManager('Tudor', [], None)
- pManager = ProjectManager('Alex', [], patron)
- tManager1 = TeamManager('Radu', [], pManager)
- tManager2 = TeamManager('Cipri', [], pManager)
- p1 = Programator('Dan', ['java', 'python'], tManager1)
- p2 = Programator('Catalin', ['java', 'python', 'c/c++'], tManager1)
- t1 = Tester('Dumi', 'automat', tManager2)
- t2 = Tester('Petru', 'manual', tManager2)
- tManager1.printSubalterns()
- tManager2.printSubalterns()
- patron.printSubalterns()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement