[ruby-de] Modul - Klassenmethoden

Martin J. Dürst duerst at it.aoyama.ac.jp
Fr Jun 23 20:19:43 JST 2017



On 2017/06/23 08:22, Die Optimisten wrote:
> Hallo
> 
> Wieso werden eigentlich Modul-Methoden zu Object- bzw Klassenmethoden, 
> je nach Art der Einbindung?

Betr. "wie geschiet das?", schaue man sich den Ruby Source Code an.

Betr. dem Zweck: Module können als Behälter für Methoded gebraucht 
werden. Eine solche Sammlung von Methoden kann als Objekt-Methoded oder 
als Klassen-Methoden entworfen sein (so viel ich weiss, gibt es kaum 
Fälle, wo die gleichen Methoden für beides Sinn machen).

> [Wenn Klassen Module sind, warum geht das nicht auch mit Klassen, bzw 
> was ist der (technische) Unterschied zw Klassen und Modulen? ]

Klassen haben Instanzen. Wenn das mit Klassen gehen würde, hätte Ruby 
Multiple Inheritance (mehrfache Vererbung), was man besser vermeidet.

> Werden bei Objekt-Methoden immer nur [super]-Objekt-Methoden aufgerufen, 
> bei Klassenmethoden immer nur [super]-Klassenmethoden (Vererbung hinauf 
> bis eine Methode gefunden wird). ?

Klassen sind auch Objekte (der Klasse Class). Desshalb gibt es da 
"weiter oben" keine konzeptionellen Unterschiede.

> Was passiert da (technisch), bzw was ist die Eigenklasse?
> und warum ist eine Singleton (wie wandeln sich die Klassenmethoden in 
> Objektmethoden (eines einzigen Objektes)? (Je nach Sichtweise ist self 
> eine Klasse oder ein Objekt???)
> 
> Habe viel darüber gelesen, Verstehen tue ichs aber immer noch nicht...

Dann lies noch etwas mehr.

Gruss,   Martin.


> danke
> fG Andreas
> 


Mehr Informationen über die Mailingliste ruby-de