> class Person
> end
>
> class Teacher
> end
>
> class Man < Person
>         set_teacher(a_teacher)
>                 @teacher = a_teacher
>         end
> end

You could always:


class Person; end

module Teacher; end

class Man < Person
  include Teacher
end


:D

So why is it that you need to have Teacher as a class?

Really, though, I think the best solution would be to do either of the
following:


class Person; end

class Man < Person; end

class Teacher < Man; end


or


class Person; end

module Teacher; end
# other modules of things that a Man could be

class Man < Person; include Teacher; end


M.T.