Meinews.de  


Zurück   Meinews.de > Forum > Newsgroups de.comp.lang.* Forum > Newsgroup de.comp.lang.ruby
Registrieren FAQ Benutzerliste Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren

Newsgroup de.comp.lang.ruby Newsgroup de.comp.lang.ruby

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10-14-2009, 04:38 PM
Michael Maier
 
Beiträge: n/a
Standard super Frage

Hallo.

Ich hab ein Verständnisproblem bei folgendem Code.

module BikeMethods
def info
puts "I'm a Bike."
end
end

class Bike
include BikeMethods
end

class Car
def info
puts "I'm a Car."
end
end

class Vehicle < Car
include BikeMethods

def info
super
end
end

v = Vehicle.new
v.info # returns "I'm a Bike."


Da Vehicle von Car erbt sollte doch super() die Methode info() von Car
aufrufen.
Warum ist das nicht so?

lg
michi


Mit Zitat antworten
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Meinews.de
Standard Sponsored Links

  #2  
Alt 10-14-2009, 06:02 PM
Robert Klemme
 
Beiträge: n/a
Standard Re: super Frage

On 14.10.2009 17:38, Michael Maier wrote:
> Hallo.
>
> Ich hab ein Verständnisproblem bei folgendem Code.
>
> module BikeMethods
> def info
> puts "I'm a Bike."
> end
> end
>
> class Bike
> include BikeMethods
> end
>
> class Car
> def info
> puts "I'm a Car."
> end
> end
>
> class Vehicle < Car
> include BikeMethods
>
> def info
> super
> end
> end
>
> v = Vehicle.new
> v.info # returns "I'm a Bike."
>
>
> Da Vehicle von Car erbt sollte doch super() die Methode info() von Car
> aufrufen.
> Warum ist das nicht so?


Weil BikeMethods dazwischen hängt. Gib mal Vehicle.ancestors aus, dann
siehst Du das.

Ciao

robert

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
Mit Zitat antworten
 
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen
Es ist dir nicht erlaubt, auf Beiträge zu antworten
Es ist dir nicht erlaubt, Anhänge anzufügen
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten

vB Code ist An
Smileys sind An
[IMG] Code ist An
HTML-Code ist Aus


Alle Zeitangaben in WEZ. Es ist jetzt 03:08 AM Uhr.





Powered by: vBulletin Version 3.6.7 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Forum SEO by Zoints