A classification of object-oriented languages