ich habe gerade ein Problem mit der Vererbung meiner Klassen. Ich habe eine Klasse Project und die Unterklasse Task.
Ich versuche jetzt während der Initialisierung der Basisklasse mehrere Instanzen der Unterklasse Task zu erzeugen. In der Klasse Task möchte ich jetzt, um die Name der Mitarbeiter zu bekommen auf das Attribut member der Basisklasse zugreifen.
Ich habe es bissher nicht hinbekommen.... Ist es so überhaupt möglich. Hier mal mein Code:
Code: Alles auswählen
class Project(object):
def __init__(self, ID):
#db = MySQLdb.connect( SET.dbHost, SET.dbCUser, SET.dbCPass, db='***')
#c = db.cursor(); c.execute('SET time_zone = "CET"')
#c.execute("SELECT * FROM project WHERE idproject=%s;",(ID))
#PROJECT = c.fetchone()
#c.close();db.close()
#FAKE DATA
PROJECT = ('Eintwicklung einer Trichtermehode für die Pharmazie','1,2,3')
#GET MEMBER DATA
MEMBER = {1:('Max Mustermann','Gruppenleiter-CAD', 'x@y.z', None, '0123123456'),
2:('Maxi Musterfrau','Projektleiter, Gruppenleiter-Corporate Management', 'x@y.z', None, '0123123456'),
3:('Dr. Mark Mustermann',None, 'x@y.z', '0123123456', '0123123456')}
self.ID = ID
self.name = PROJECT[0]
self.member = MEMBER
self.task = []
for task in PROJECT[1].split(','):
self.task.append(Task(int(task)))
return None
def __del__(self):
return None
class Task(Project):
def __init__(self, ID):
#db = MySQLdb.connect( SET.dbHost, SET.dbCUser, SET.dbCPass, db='***')
#c = db.cursor(); c.execute('SET time_zone = "CET"')
#c.execute("SELECT * FROM task WHERE idtask=%s;",(ID))
#TASK = c.fetchone()
#c.close();db.close()
if ID == 1: TASK = ('Hochbau der Fontaine','Hochbau der Fontaine im großen Garten, sowie der überwachung des ganzgen Areals mit Wärme und Sensor-Kameras','1,2,3','25.09.2012',1)
elif ID == 2: TASK = ('TASK B','DECRIPTION B','1,3','15.06.2012',2)
else TASK = ('TASK C','DECRIPTION C','2','15.06.2012',3)
self.ID = ID
self.title = TASK[0]
self.description = TASK[1]
self.member_task = []
for member in TASK[2].split(','):
self.member_task.append(Project.member[int(member)][0])
self.deadline = TASK[3]
self.state = TASK[4]
return None