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.