From: matz@... (Yukihiro Matsumoto) Date: 2001-12-21T12:24:14+09:00 Subject: [ruby-talk:29196] Re: Why is UnboundMethod a subclass of Method? (was Re: overriding methods: (almost) a replacement for alias_method) Hi, In message "[ruby-talk:29182] Re: Why is UnboundMethod a subclass of Method? (was Re: overriding methods: (almost) a replacement for alias_method)" on 01/12/21, "Chr. Rippel" writes: |> Well, a Method is really a BoundMethod, and a BoundMethod is not an |> UnboundMethod. In my mind, it doesn't really make sense to have Method |> inherit from UnboundMethod. |Subclassing (Bounded)Method from UnboundedMethod is much less |problematic (only bind needs to be overridden with the sematics ``rebind") |but as Guy points out UnboundMethod already exists in 1.6 so there is no |chance that this will be changed in 1.8. For your information, it's almost historical reason. I developed Method (BoundMethod) first, not knowing UnboundMethod was possible. If I was introducing both BoundMethod and UnbountMethod at the same time, it might be Method BoundMethod UnboundMethod or might be as you said UnboundMethod BoundMethod due to my less-class-ism. Anyway, consider they are not in is-a relation. They are just sharing implementaion. matz. p.s. You're bind - rebind idea sounds nice.