Verhalten von Modulen und Mixins

Winfried Mueller <[email protected]> Tue, 21 Jan 2003 17:18:14 +0100
Newsgroups gmane.comp.lang.ruby.german
Message-ID <[email protected]>
Hallo,


ich versuche das Verhalten von Modulen zu verstehen. Soweit ich
verstanden habe, verhält es sich so:

- auf Methoden in Modulen, die mit dem "Modulname." beginnen,
kann man von außen zugreifen, auf andere nicht:

module Test
  def Test.Foo          #-> Zugriff von außen möglich
    "Ich bin Test.Foo"
  end
  def Foo               #-> Zugriff von außen nicht möglich
    "Ich bin Foo"
  end
end 


- bei Mixins ist es so, dass nur Methoden ohne vorangestellten
"Modulnamen." included werden, und zwar als Instanzmethode.
Methoden in Modulen, die den "Modulnamen." vorangestellt
bekommen, scheinen in keiner Weise übernommen zu werden. (Im
obigen Beispiel also nur Foo, nicht Test.Foo)

- Über Mixins ist es nur möglich, Instanzmethoden in Klassen zu
includen, man kann keine Klassenmethoden über Mixins erstellen.


Ist das so richtig verstanden?

viele Grüße

Winfried