>Also, in C++ those facilities are regarded as a kinds of classes, which seems
>to be rather artifical and misleading.

I don't think that's true. Why should they not be considered as a kind of class?
Ada implements an almost identical feature - consider:

package PVC_Package is

   type PVC is abstract tagged null record;

   function op_1 (This : in PVC) return Integer is abstract;

end PVC_Package;

This is very similar in effect to:

class PVC
   virtual int Op_1() = 0;

I believe that it is Java that is artificially differentiating between a Class
and an Interface.


This email and any attachments are confidential to the intended
recipient and may also be privileged. If you are not the intended
recipient please delete it from your system and notify the sender
immediately by telephoning +44(1252) 373232. You should not copy it
or use it for any purpose nor disclose or distribute its contents to
any other person.