Seite 1 von 1

[erledigt] Mehrfachvererbung

Verfasst: Sonntag 3. September 2006, 10:33
von paedubucher
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

Verfasst: Sonntag 3. September 2006, 11:16
von DatenMetzgerX
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

Verfasst: Sonntag 3. September 2006, 12:25
von paedubucher
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