kbr hat dankenswerterweise gezeigt, daß die Parent-Methode nicht aufgerufen wird, wenn nicht ENTWEDER super() (mit seinen spezifischen Eigenschaften) ODER die Methode der Elternklasse aufgerufen wird. Darum ging es aber gar nicht, wenn die Tkinter-Klassen rufen ja die Methode der Elternklassen auf, wo dies notwendig ist -- aber eben nicht mit super(), sondern explizit über die Parentklassen, wie das früher (vor super()) eben so üblich war. Insofern belegt das Beispiel von kbr, was vorher schon alle wußten und was ich natürlich auch gar nicht bestreite: wenn der Entwickler eine Methode nicht aufruft, dann wird sie nicht ausgeführt. Wer hätte das gedacht!__blackjack__ hat geschrieben: ↑Sonntag 26. September 2021, 15:38 @LukeNukem: kbr hat das zum Beispiel gezeigt.
Um das noch einmal klarzustellen: ich bezweifle, daß ALLE Klassen super() benutzen müssen, wenn EINE Klasse super() benutzt. Ich bezweifle NICHT, daß alle Klassen einer Vererbungshierarchie womöglich gleichnamige Methoden ihrer Parentklassen aufrufen müssen. UND ich behaupte, daß es vollkommen egal ist, ob die Klassen nun super() oder einen expliziten Aufruf der Methode über die Parentklasse benutzen -- eben so, wie das früher üblich war und wie dann eben auch Tkinter das macht. Oder, anders gesagt: ich sage, daß es gleichgültig ist, ob "super().methode()" oder "Parent.methode(self)" benutzt wird, solange die Methode eben aufgerufen wird. Oder, noch anders gesagt: solange der Methodenaufruf erfolgt, ist es gleichgültig, wie er gemacht wird.
Deswegen ist es auch völlig in Ordnung, Tkinter mit super() zu benutzen, denn die Tkinter-Klassen rufen ihre Elternmethoden ja auf -- wenngleich nicht mit super(), sondern explizit über die Parentklasse. Genau diese meine Aussage und anhand meines Beispiels für Tkinter mit OO hast unter anderem Du allerdings bestritten, wenn ich Euch richtig verstanden habe. Jetzt bitte ich um Belege für Eure Aussage, aber bisher habt Ihr lediglich andere Dinge belegt, die ohnehin selbstverständlich waren und daher auch niemanden verwundern können.
Insofern, auf die Gefahr hin, mich zu wiederholen: würde bitte jemand ein Codebeispiel zeigen, warum alle Klassen einer Vererbungshierarchie super() benutzen müssen und wo, wie und warum es zu Fehlern führen soll, wenn eine oder mehrere Klassen in der Vererbungskette NICHT super() benutzen, sondern die Methoden der Elternklassen explizit über diese Elternklassen aufrufen, so wie Tkinter es tut. Meine Güte, Ihr seid drei Leute, die meinen objektorientierten Tkinter-Code deswegen kritisiert habt. Da kann es doch wohl nicht allzu schwierig sein, Eure Behauptungen "entweder alle benutzen super()" und "der Aufruf der Elternmethoden über die explizite Angabe der Parentklassen darf nicht mit super() gemischt werden" anhand von Code zu belegen? Und zwar bitte! anhand von Code, der genau diese Behauptungen belegt, keinen Unfug mit bekannten und dokumentierten Sachverhalten im Zusammenhang mit Mehrfachvererbung oder dem grundsätzlichen Aufruf von Methoden. Herzlichen Dank für Eure Bemühungen -- und natürlich viel Erfolg dabei.