Abstract class
Defines the methods and common attributes of a set of classes that are conceptually similar. Abstract classes are never instantiated.
Attribute
Data associated with an object (also called a data member).
Class
Blueprint of an objectdefines the methods and data of an object of its type.
Constructor
Procedure that is invoked when an object is created.
Derived class
A class that is specialized from a base class. Contains all of the attributes and methods of the base class but may also contain other attributes or different method implementations.
Destructor
Procedure that is invoked when an object is deleted. (Note: In Java, this is called a finalizer.)
Encapsulation
Any kind of hiding. Objects encapsulate their data. Abstract classes encapsulate their derived concrete classes.
Functional decomposition
A method of analysis in which a problem is broken into smaller and smaller functions.
Inheritance
The way that a class is specialized, used to relate derived classes with their base classes.
Instance
A particular object of a class.
Instantiation
The process of creating an instance of a class.
Member
Either data or a procedure of a class.
Method
Procedures that are associated with a class.
Object
An entity with responsibilities. A special, self-contained holder of both data and procedures that operate on that data. An object's data is protected from external objects.
Polymorphism
The ability of related objects to implement methods that are specialized to their type.
Superclass
A class from which other classes are derived. Contains the master definitions of data and procedures that all derived classes will use (and for procedures, possibly override).