SZMURLO MAURICE wrote: > Hi, > > I was mainly thinking about abstract in the java sense: > non-instatiable classes with methods that are to be > implemented in subclasses: > > something like: > > class Employee > def-abstract-method work; > ... other ... > end > > class Worker << Employee > def work > # do the worker job > end > ... other ... > ... It sounds like what you might want to do is implement Employee with an initialize method that throws an error if the item is of the Employee class. I'm not real sure of the chain of execution here. If I were trying this I might first just put in a method that threw and exception if it were invoked. Since I believe that initialize is private, this would probably do what you want. But test it, because I haven't. If the simple answer doesn't work, then test against the class name, and throw an exception if an actual instance is created. But the Employee module would work if what you are really after is sharing code rather than sharing inheritance.