UML Diagramm in Python umsetzen?

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?
Bild zum Beitrag
programmieren, Informatik, Python, UML, Klassendiagramm, Objektorientiert, Objektorientierte Programmierung, OOP Programmierung
Klassen- und Objektdiagramme in UML?

Hallo Leute,

normalerweise hasse ich es, wenn man so lächerlich einfache Fragen, die sich mit zwei Minuten googeln selbst beantwortet, stellt, aber ich komme nach zwei Tagen Recherche immer noch nicht auf den Trichter:

Aufgabe:

Erstellen Sie ein UML-Diagramm für folgende, sowie eine weitere übergeordnete Klasse mit den gegebenen Attributen und Methoden. Geben Sie in ihrem UML-Diagramm auch Konstruktoren an. Passen Sie die Namen an, beachten Sie hierbei PEP 8.Erzeugen Sie eine sinnvolle Vererbungshierarchie zwischen den Klassen.

Hinweis: Überlegen Sie genau, was die angegebenen Klassen verbindet.

Angestellter

• Personalnummer

• Name

• Adresse

• Geburtsdatum

• Gehalt

• Bankverbindung

• DruckeAdresse()

• ÜberweiseGehalt()

Student

•Matrikelnummer

•Name

•Adresse

•Geburtsdatum

•DruckeAdresse()

•DruckeAusweis()

Hilfskraft

• Matrikelnummer

• Name

• Adresse

• Geburtsdatum

• Personalnummer

• Beschäftigungsart

• DruckeAdresse()

• DruckeAusweis()

• DruckeArbeitszeiten()

Erstellen Sie zwei Objektdiagramme, welche dieses Klassendiagramm erfüllen. Generieren Sie die erforderlichen Objektwerte

Mein Ansatz/Problem: Die eigenen Klassen interagieren doch überhaupt nicht miteinander? Die einzige Vererbung findet zwischen Stundeten und Hilfskraft statt. Selbst die Hilskraft bekommt noch nicht mal Gehalt. Wie soll man das in einem UML-Diagramm verbinden? Und soll man als Objektdiagramm dann einfach nur 8 Kästchen malen, ohne Pfeile?

Schule, programmieren, Informatik, UML, Klassendiagramm, Vererbung, Objektorientierte Programmierung, OOP Programmierung
Python "Schere-Stein-Papier" funktioniert nicht, man kann nicht gewinnen?

Ich bin nun so gut wie fertig mit meinem Spiel, aber man kann nicht gewinnen. Ich habe es auch mit "try except" versucht, aber hat auch nicht funktioniert. Woran kann das liegen?

Ich weiß man könnte das schöner/besser machen, aber mir passt es so:)

Code:

#Imports
import time
import random
random.seed()

	#Headline
print("*************************"); time.sleep(0.5)
print("*Schere - Stein - Papier*"); time.sleep(0.5)
print("*************************"); time.sleep(0.5)

true = True

while true == True:

	print("-------------------------------") #Abtrennung
	#Input
	print("Wählen Sie eine Figur: ")
	spielerwahl = input().lower()
	print("")
	
	computerwahl = ["schere", "stein", "papier"]

	#Output
	print("Sie wählten: ", spielerwahl)
	pc = random.choice(computerwahl)
	print("Der Computer wählte: ", pc)
	print("")

	#Verzweigungen
	if spielerwahl == pc:
		print("*********Unentschieden!*********")
		
	#Spielerwahl = Schere
	elif spielerwahl == "schere" or spielerwahl == "Schere" and pc == "stein":
		print("***********Verloren!***********")
		
	elif spielerwahl == "schere" or spielerwahl == "Schere" and pc == "papier":
		print("***********Gewonnen!***********")
	
	#Spielerwahl = Stein
	elif spielerwahl == "stein" or spielerwahl == "Stein" and pc == "papier":
		print("***********Verloren!***********")
		
	elif spielerwahl == "stein" or spielerwahl == "Stein" and pc == "schere":
		print("***********Gewonnen!***********")
	
	#Spielerwahl = Papier
	elif spielerwahl == "papier" or spielerwahl == "Papier" and pc == "schere":
		print("***********Verloren!***********")
		
	elif spielerwahl == "papier" or spielerwahl == "Papier" and pc == "stein":
		print("***********Gewonnen!***********")
		
	#Fehlermeldung
	else:
		print("*********Nicht möglich!*********")
	
	#Abtrennung
	print("-------------------------------")
	print(""); time.sleep(1.5)
Computer, Technik, IT, programmieren, Informatik, Python, Technologie, Spiele und Gaming
Python in Java übersetzen?

Hi, ich brauche eure Hilfe.

Ich habe für den Informatikunterricht in der Schule mit Python ein Programm geschrieben welches die Kosten für Pakete ausrechnet.

Nun ist mir eingefallen, dass ich in der Schule keine Python-Konsole habe, um das Programm laufen zu lassen. Wir haben nur BlueJ, was meines Wissens eine Java-Konsole ist.

Ich kann leider kein Java und im Internet bin ich auch auf keine Übersetzer gestoßen.

Hat jemand eine Idee wie ich diesen Code:

import time

a = "Die Kosten für ihr Paket betragen "
print("Paketrechner startet...")
time.sleep(1)
print("Paketrechner erfolgreich gestartet!")
print(" \n Bitte gib folgende Parameter an und bestätige mit Enter: \n")
print("Länge des Pakets:")
l = int(input())

if l > 175:
  print("Dein Paket ist zu lang!")

print("Breite des Pakets in cm:")
b = int(input())
print("Höhe des Pakets in cm:")
h = int(input())
p = 2(h + b) + l

if p > 300:
  print("Das Packmaß ist ungültig. Es beträgt über 300cm oder es wurden falsche Werte eingegeben. Die Länge des Pakets darf maximal 170 cm betragen!")

if p <= 300:
  print("Das Packmaß beträgt")
  print(p)
  print("Geben Sie nun das Gewicht des Pakets in kg ein.")
  g = int(input())

  if g > 31:
    print("Dieser Paketrechner unterstützt nur Pakete bis zu einem Gewicht von 31 kg!")
  elif g < 2:
    print(a + "3,80€")
  elif g < 4:
    print(a + "5,10€")
  elif g < 6:
    print(a + "6,30€")
  elif g < 8:
    print(a + "6,80€")
  elif g < 10:
    print(a + "7,40€")
  elif g < 12:
    print(a + "7,80€")
  elif g < 14:
    print(a + "8,50€")
  elif g < 18:
    print(a + "10,30€")
  elif g < 25:
    print(a + "13,30€")
  elif g < 31:
    print(a + "14,00")

in Java bekomme?

PC, Computer, programmieren, Java, BlueJ, Eclipse, Informatik, Python, übersetzen
Wie sind die Registerkonvention im Assembler zu verstehen?

Guten Morgen,
ich bin Schülerstudentin und sitze seit ca 1 Woche an einer Aufgabe in Mips, die wir nun endlich fertig haben. Nun sind wir allerdings auf ein Problem gestoßen und zwar wissen wir nicht wie wir mit den Registerkonventionen umzugehen haben.

Ich zähle nun einmal die Regeln zu einer Funktion mit Funktionsaufrufen (nicht Blattfunktion auf), darunter (in dick) befinden sich meine Fragen und Kommentare.

Konventionen:

– Sichere $ra auf dem Stack!

Ist für uns klar, denn die Returnadresse geht sonst nach einem Funktionsaufruf verloren und es kommt zu einer Endlosschleife.

– Weise Variablen, die nach einem Aufruf benötigt werden, an

einen $si Register zu und sichere zuvor $si auf dem Stack.

– weise Variablen, die nach einem Aufruf nicht länger benötigt

werden, an einen $ti Register zu

Ich nehme diese zwei Punkte einmal zusammen, denn hier beginnt das böse Übel.
Wie ist das denn eigentlich gemeint ? Ich persönlich verstehe es so, dass die $si Register vor dem Aufruf in den Stack geladen werden müssen, wenn sie in der aufzurufenden Funktion auch vorhanden sind. Und durch das Speichern wird der Wert nicht überschrieben. Die Frage wäre nun, wenn ich ein Register (z.b für einen Counter) benötige, dass nicht in der aufzurufenden Funktion vorkommt, ich es auch auf den Stack speichern muss, oder ob es dann ein t Register wird, statt ein s?

Man sagt ja, dass die t-Register sind für die Haltung kurzlebiger (temporärere) Variablen bestimmt sind. Nur was ist damit genau gemeint?

– kopiere Argumente ($ai) , die nach einem Aufruf benötigt

werden, in ein $si-Register und sichere zuvor $si auf dem

Keller

Was meint man hiermit genau.

Es wäre sehr nett, wenn ihr konkret werden würdet, denn ich verstehe das meiste im Internet schon nicht.

Vielen Dank im Voraus

Luisa

Computer, Mathematik, CPU, programmieren, Assembler, Informatik, Programmiersprache, Register
Wie ladet man ein Blob-URL-Video herunter?

Ich möchte ein Video herunterladen, dessen URL nicht einfach mp4-Datei ist. Zum Beispiel "blob:https://www.youtube.com/e9c3655f-041a-43e8-8213-7aabf1231246". Kennt sich irgendjemand da aus und weiß wie das geht beziehungsweise ob das überhaupt möglich ist?

PS: Ich kann nicht programmieren

Computer, Musik, Internet, Technik, Programm, HTML, programmieren, Java, JavaScript, URL, Informatik, Technologie
IP Adresse kopieren? Stehlen? Mit Firmennetzwerk verbinden / Firmen IP Adresse zuhause verwenden?

Hallo lIebe Community,

ich brauche euere Hilfe im Bereich IT . Meistens Arbeite ich am Arbeitsplatz. Jedoch bin ich seit dem neuen Jahr sehr oft unterwegs und muss mit dem PC auf wichtige Daten zugreifen. Wir haben ein eigenes Firmennetzwerk (Domain) - kann ich leider nicht erklären ...... auf das/die wir regelmäßig zugreifen müssen. Wenn ich an meinem Arbeitsplatz bin reicht es sich einfach einzuloggen und man ist drinnen. Wenn ich jetzt jedoch unterwegs bin, lässt mich das System nicht hinen, da ich eine Andere Ip Adresse habe als die am Arbeitsplatz. Natürlich könnte ich meinen Firmen Laptop/Pc mitnehmen, aber an meinem eigenen ist es viel komfortabler und Ich muss die ganze Firmen-Hardware herumschleppen.

Jetzt habe ich mal die IP Adresse vom Firmen PC. Außerdem habe ich noch weitere Infos, weis aber nicht was ich damit anfangen soll.

Useragent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36 sowie die IP Adresse welche icht jetzt aber nicht veröffentlichen möchte.

Ich weiß, dass ich diese Informationen Irgendwie in meinen PC Stecken muss damit ich Zugang zur Firmen Website (login Page) habe. Leider habe ich es nach 3 Tagen recherchieren, ausprobieren .... immer noch NICHT geschaft. Ich habe mir sogar das Nord VPN Programm gekauft, mit der Hoffnung das ich diese Daten per Copy and Past einfüge und auf Start klicke. Leider gescheitert :-(

Es ist wirklich wichtig dass, das auf meinem eigenen Laptop funktioniert.

P.s Ich habe gelesen, dass ich zur IP Adresse noch einen Port brauche, habe diesen aber nicht. Leider komme ich nicht weiter. Wist ihr, wie ich das anstellen kann ? (-am eigenen PC und nicht den Firmen PC mitnehmen) Hat jemand Erfahrungen ?

Danke im Voraus

Computer, Reise, Software, Technik, IT, programmieren, Business, developer, Informatik, IP-Adresse, Technologie

Meistgelesene Beiträge zum Thema Informatik