Nat Pryce wrote: >In Ruby *all* methods are abstract unless implemented by a class. > >Or to put it in a more useful way, abstract methods are not required in a >dynamically typed language such as Ruby, only in typed languages like Java >or C++. > Not quite what I had in mind. If I create a class I will provide various methods that a subclass can override. But in many cases they will pick up the super classes' methods. However in the class I have in mind there is one method that must exist in the subclass for which there is no meaningfull default action that it can undertake, the subclass must override this method. In Java I would mark the method as abstract rather than just public or private and when I subclass it the compiler would choke if I did not provide the override in the subclass. At present I have to insert a normal method in the class that raises an exception which will then cause the subclass to fall over if it did not override it. It works but it isn't clean, to my mind abstract is just as fundemental as public or private and therefore should be marked as such. I have a deep suspicion that the way Ruby does things means that this is not possible, just thought I would ask though.