The document describes the basic mechanisms of object-oriented programming languages. It explains that classes contain methods that belong to the class, while instances contain variables that belong to the instance. Method calls are dynamic, involving lookup of the method definition based on the instance. Key concepts discussed include classes, instances, methods, inheritance, polymorphism, and method overloading and overriding. Examples are provided of how these concepts are implemented in languages like Ruby, Python, Perl, Java, and JavaScript.