Advertisement
ionutHulub

Tema 1 Problema 1 IP

Feb 22nd, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1. class Angajat:
  2.     def __init__(self, nume, sef):
  3.         self.nume = nume
  4.         self.sef = sef
  5.         if sef != None:
  6.             sef.addSubaltern(self)
  7.  
  8.     def printName(self):
  9.         print 'Nume: %s' % self.nume
  10.  
  11.     def getName(self):
  12.         return self.nume
  13.    
  14.     def changeName(self, numeNou):
  15.         self.nume = numeNou
  16.  
  17. class Programator(Angajat):
  18.     def __init__(self, nume, limbaje, sef):
  19.         Angajat.__init__(self, nume, sef)
  20.         self.limbaje = limbaje
  21.  
  22.     def limbajeCunoscute(self):
  23.         print '%s cunoaste ' % self.nume,
  24.         for limbaj in self.limbaje:
  25.             print '%s ' % limbaj,
  26.         print '\n'
  27. class Tester(Angajat):
  28.     def __init__(self, nume, tip, sef):
  29.         Angajat.__init__(self, nume, sef)
  30.         self.tipTester = tip
  31.  
  32. class Manager(Angajat):
  33.     def __init__(self, nume, sub, sef):
  34.         Angajat.__init__(self, nume, sef)
  35.         self.subalterns = set(sub)
  36.    
  37.     def removeSubaltern(self, sub):
  38.         self.subalterns.discard(sub)
  39.  
  40.     def addSubaltern(self, sub):
  41.         self.subalterns.add(sub)
  42.  
  43.     def printSubalterns(self):
  44.         print '%s has %s subalterns' % (self.nume, len(self.subalterns))
  45.         for sub in self.subalterns:
  46.             print '>> %s' % sub.getName()
  47.  
  48. class TeamManager(Manager):
  49.     def __init__(self, nume, sub, sef):
  50.         Manager.__init__(self, nume, sub, sef)
  51.  
  52. class ProjectManager(Manager):
  53.     def __init__(self, nume, sub, sef):
  54.         Manager.__init__(self, nume, sub, sef)
  55.  
  56. class GeneralManager(Manager):               
  57.     def __init__(self, nume, sub, sef):
  58.         Manager.__init__(self, nume, sub, sef)
  59.                                                      
  60. patron = GeneralManager('Tudor', [], None)
  61. pManager = ProjectManager('Alex', [], patron)
  62. tManager1 = TeamManager('Radu', [], pManager)
  63. tManager2 = TeamManager('Cipri', [], pManager)
  64. p1 = Programator('Dan', ['java', 'python'], tManager1)
  65. p2 = Programator('Catalin', ['java', 'python', 'c/c++'], tManager1)
  66. t1 = Tester('Dumi', 'automat', tManager2)
  67. t2 = Tester('Petru', 'manual', tManager2)
  68. tManager1.printSubalterns()
  69. tManager2.printSubalterns()
  70. patron.printSubalterns()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement