[erledigt] Mehrfachvererbung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
paedubucher
User
Beiträge: 28
Registriert: Donnerstag 29. Juni 2006, 18:29
Wohnort: Schweiz
Kontaktdaten:

[erledigt] Mehrfachvererbung

Beitragvon paedubucher » Sonntag 3. September 2006, 10:33

Hallo allerseits

Ich habe ein kleines Problem mit der Mehrfachvererbung. Ich habe zwei Klassen, 'Foo' und 'Bar', welche jeweils eine Methode 'doSomething' enthalten. In meiner vererbten Klasse 'Subclass', erbe ich in der Reihenfolge 'Bar' und erst dann 'Foo'. Laut der offiziellen Python-Dokumentation, wird immer zuerst die Hierarchie der ersten Vererbung (also in meinem Fall 'Bar') abgesucht, bevor zur zweiten, also in meinem Fall 'Foo', weitergeschritten wird.

Mein Programmcode:

Code: Alles auswählen

class Foo:
   def doSomething(self):
      print 'Class Foo does something...'

class Bar:
   def doSomethind(self):
      print 'Class Bar does something too...'

class Subclass(Bar, Foo):
   def __init__(self):
      self.doSomething()

subclass = Subclass()


Nun lautet meine Ausgabe jedoch immer 'Class Foo does something...', es wird also die Methode der Klasse 'Foo' aufgerufen.

Habe ich die Dokumentation etwa falsch verstanden, oder woran liegt das?

Besten Dank & Gruss

paedubucher
Zuletzt geändert von paedubucher am Sonntag 3. September 2006, 12:26, insgesamt 1-mal geändert.
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Beitragvon DatenMetzgerX » Sonntag 3. September 2006, 11:16

Ich musste auch kurz studieren... aber wenn du nun schonaml Foo und Bar austauscht kommt immer noch die Methode doSomething von Foo zum Zuge

Jetzt schau dir mal den Methodenname von doSomtehind fon Bar an ;)


Greez DM
Benutzeravatar
paedubucher
User
Beiträge: 28
Registriert: Donnerstag 29. Juni 2006, 18:29
Wohnort: Schweiz
Kontaktdaten:

Beitragvon paedubucher » Sonntag 3. September 2006, 12:25

DatenMetzgerX hat geschrieben:Ich musste auch kurz studieren... aber wenn du nun schonaml Foo und Bar austauscht kommt immer noch die Methode doSomething von Foo zum Zuge

Jetzt schau dir mal den Methodenname von doSomtehind fon Bar an ;)


Greez DM


*duck*, *weg*

Sorry, das tut mir leid :oops:

Danke für deine Hilfe!

Wenigstens habe ich den (schwachen) Trost, dass du dich in deinem Posting auch kurz vertippt hast (habe es extre Fett hervorgehoben). :-D

So viel Schadenfreude muss sein :D

Gruss, paedubucher

Wer ist online?

Mitglieder in diesem Forum: Bananasplit, Bing [Bot]