Object-Oriented Programming

A programming paradigm in which programs are built around objects, which are complex structures that contain data.


A general prototype from which individual objects may be created. The definition of the class specifies the attributes and methods that shall be possessed by any object created from that class. In addition, the definition of the class includes a function called an initializer that governs the creation of individual objects from the class.


The creation of an individual object as an instance of a class. The object gets all of the attributes and methods of the class (except for the initializer function). Typically the intializer functions allows for determination of the values of some of the object’s attributes at the time of instantiation.

Message-Passing OO

A type of object-oriented programming in which a task is performed by passing a message to the object that will perform the task. The method by which the object performs the task is determined solely by the class of which the object is an instance.


A data-field belonging to an object that is not a function.

Method (also called “Method-Function”)

A function that encapsulates a particular way of performing a task. In message-passing OO, it is a function data-field belonging to an object that as a data-field. Such a function usually has access to its inputs, to other data from its object, and to the objet itself. In generic-function OO, it is a function that is accessed through a generic function.

Reference Semantics

When an object has reference semantics, assignments involving that object create a pointer to the object, rather than creating a copy of the object itself.


The situation that arises when an object with reference semantics contains one or more other objects with reference semantics as data-fields.


The situation that arises when a class (known as the child class) is defined as being a particular type of some other class (known as the parent class). By default the child class has all of the attributes and methods of the parent class. The child class may be given additional attributes and methods.


When a method defined in a child class has the same name as a method belonging to the parent class, then the child-class method is said to override the parent-class method. When the method is called on an instance of the child class the defining code in the child class, not the parent class, is used to execute the method.

Generic Function

A function that dispatches an input object to one of a number of method-functions, based on the class of the input.

Generic-Function OO

A type of object-oriented programming in which tasks are performed by generic functions. The method used to perform a particular task is determined by the class of the input object.


A program exhibits polymorphism when a function behaves differently depending either on the type of object to which it belongs or the type of object to which it is applied.