Verstehe den Fehler kaum Python?

jo135  22.08.2023, 11:55

Welcher Fehler?

ZennyT 
Fragesteller
 22.08.2023, 11:57
line 34, in __init__
    super().__init__(name, farbe, radius)


TypeError: __init__() missing 1 required positional argument: 'kanten

1 Antwort

    def __init__(self, name, farbe, radius):
        super().__init__(name, farbe, radius)

Du rufst hier den Konstruktor der Superklasse Figur auf. Und wie hattest du den definiert?

    def __init__(self, name, farbe, durchmesser, kanten):

Richtig, da war noch ein Parameter "kanten", den du aber beim Aufruf nicht mitgibst.

Die Klassenhierarchie ist generell etwas seltsam - man leitet vom Allgemeinen das Spezifische ab. Deine "Figur" aber muss einen Radius und Kanten haben? Ich denke, du willst dir das nochmal überlegen.

GuteAntwort2021  22.08.2023, 12:06
Ich denke, du willst dir das nochmal überlegen.

Ich glaube nicht, dass er das selbst geschrieben hat, sondern von irgendwo zusammenkopiert. 😉

1
GuteAntwort2021  22.08.2023, 15:07
@ZennyT

Du verstehst also die Grundzüge der Objektorientierung um ein solches Konstrukt aufzubauen, schaffst es aber nicht eine Fehlermeldung mit klaren Hinweisen zu interpretieren und zu beheben, die sowas einfaches ist, wie ein Parameter zu wenig beim Funktionsaufruf?

Wessen Intelligenz möchtest du beleidigen?

0
ZennyT 
Fragesteller
 22.08.2023, 18:03
@GuteAntwort2021

keinem sein, wollte nur meinen Fehler wissen, warum das nicht funktioniert, tut mir leid die Frage gestellt zu haben.

0
GuteAntwort2021  22.08.2023, 18:05
@ZennyT

Es muss dir nicht leid tun eine Frage zu stellen, dafür ist die Plattform schließlich da. Aber meine Aussage abzustreiten ist halt fragwürdig, wenn es so offensichtlich ist. 😉

1
ZennyT 
Fragesteller
 23.08.2023, 11:31
@GuteAntwort2021

ich tue sich nicht abstreiten, dennoch habe ich diesen Code selbstgeschrieben, heißt natürlich mit etwas hilfe, aber dennoch bedanke ich mich bei herzlichst.

0