Chrutschow. Nachdem mein Versuch, vorgegebene Datentypen in ein Klassendiagramm zu schreiben, bemerkenswert kläglich scheiterte, heute nun the-other-way-round: Ein UML Diagramm in Python umsetzen:
Insbesondere frage ich mich, wie bei der Implementierung zwischen Vererbung, Aggregation und gerichteten Assoziationen unterschieden wird. Scheinbar gibt es dafür 2000 Tutorials mit 30000 unterschiedlichen Lösungsansätzen. Außerdem weiß ich nicht, was genau die einzelnen Objekte tun. Zum Beispiel steht beim Professor nur Kostencenternummer als geschützte Variable. Und der WiMi macht anscheinend gar nichts. Was schreibe ich in die Getter und Setter?
Hier der bisherige Ansatz:
######Vererbung
"""This programm models the UML diagram of the inheritante between
members and professors.
"""
class Member:
name = ""
def __init__(self, name, id_number):
self.name = name
self.id_number = id_numer
class Professor(Member):
def __init__(self, name, id_number, cost_center_no):
self.name = name
self._cost_center_no = _cost_center_no
def get_cost_center_no(self):
# Wie Kostenstellennummer umsetzen?
class WiMi(Member):
def __init__(self, name, id_number):
self.name = name
Aggregation
class Presentation:
def __init__ (self, title, date):
self.title = name
self.date = date
def change_date(self):
print ("Class Owner: method1")
Gerichtete Assoziation
class research_group:
def __init__(self, name, total_presentation):
self.name = name
self.total_presentation = total_presentation
self.name = name
def get_members(id_number, name, total_representation):
def get_head (id_number, name, total_reprensentation)
def set_head (id_number, name, total_reprensentation)
def add_member (id_number, name, total_representation)
#Was machen diese Methoden?