| Name |
Definition |
| Abstract
Data Type |
A primitive type
that is defined entirely by a set of operations. |
| Abstraction |
A model or simplification
of a physical object or concept by ignoring the details of a problem and
concentrating on the solution. |
| Ada |
A high-level programming
language, sponsored by the U.S. Department of Defense. |
| Attributes |
A property or characteristic
of an object. |
| Base Class |
In an inheritance situation,
the root class that contains the different properties and methods that
derived classes inherit. |
| Child Class |
In an inheritance situation,
the child class is the class that inherits different attributes and methods
from the parent class. |
| Class |
A programming language construct
similar to modules where the module itself is the type. |
| Class Library |
A collection of generic
classes that can be adapted and tailored for a particular application. |
| Constructor |
A procedure that initializes
the instance variables of an object, e.g. by setting the value of a variable
or allocating storage. |
| Data Integrity |
The state of data that has
been protected from accidental erasure or uncontrolled change. |
| Data Members |
The variables, constants,
and data types in a class definition. |
| Derived Class |
A lower level class in an
inheritance situation. Analogous to Child Class. |
| Dynamic Binding |
Runtime or Late Binding.
The association of a method name and the action it evokes at runtime. |
Dynamic Data
Structures |
Data structures that have
a size that can change based on the amount of data. They expand and
contract as the program runs based on the need for space. |
| Encapsulation |
Dividing a program up into
separate compartments by enclosing related data, routines and definitions
into a class capsule. |
| Event Driven |
Similar to real-time programming.
An event-driven program has a dispatch loop as the highest level of organization. |
| Framework |
A class library that is
tuned especially for a particular category of application. |
| Generic
Function |
A function whose behavior
depends upon the types of the arguments passed to it. |
| Global Variables |
A variable that is accessible
by the whole program, including all methods. |
| Information
Hiding |
To hide program details
of the low level module’s implementation from the user. |
| Inheritance |
To obtain methods and attributes
from another class for use in a new class. |
| Instance |
The declaration or usage
of a class. |
| Instance Variable |
A variable that is defined
within a class. The variable is part of the internal state of the object. |
| Member Functions |
The functions that are a
part of a class and visible to the users of the class. |
| Message |
Procedure call, applied
to an object. The procedure is one of the member functions defined with
the object (or higher in the object hierarchy). |
| Multiple Inheritance |
When a class inherits from
multiple parents. |
| Name Clashing |
A conflict that can occur
in multiple inheritance, when the same method or instance variable is inherited
from multiple classes. |
| Object |
Something that “represents
an individual, identifiable item, unit, or entity, either real or abstract,
with a well-defined role in the problem domain” (Smith and Tockey @ www.cyberdyne-object-sys.com). |
| Object File |
The machine language version
of a program. |
| Object Identity |
Something about an object
that remains invariant across all possible modifications of its state.
Can be used to point to an object. |
Object-Oriented
Design |
The design principle that
uses classes, objects, inheritance, encapsulation, and data hiding. |
Object-Oriented
Languages |
High-level programming languages
such as C++ and Java that support OOP. |
Object-Oriented
Programming |
Programming using classes,
objects, inheritance, encapsulation, and data hiding. |
| Operator Overloading |
A programming language feature
that allows the same operator to be used with different types, such as
the use of “+” with two integers, two complex numbers, or two strings. |
| Overloading |
Ability to use the same
procedure name or operator with different types of arguments. |
| Parent Class |
In an inheritance situation,
the parent class is the class which contains the different properties and
methods that derived classes inherit. |
| Passive Object |
An object that acts only
upon request, such as Apple’s HyperCard buttons, which must be pressed
into action. |
| Persistence |
The permanence of an object,
particularly relevant in the context of object-oriented databases, which
maintain a distinction between objects created only for the duration of
execution and those intended for a permanent storage. |
| Pointer |
Represents the address of
a dynamically allocated variable. |
| Polymorphism |
Ability to use the same
procedure name or operator with different types of arguments. The term
has the intent that the different types form a hierarchy. |
| Private |
The variables, constants,
data types, and functions that are to be hidden from the user. |
| Process |
A list of tasks that are
performed. |
| Protocol |
The set of messages to which
an object can respond. |
| Public |
The description of the interface
of the class that can be seen. |
| Pure Virtual Function |
A special member function
in an Abstract Class. The body of the function is given in a derived class. |
| Reuse |
To develop code that can
be used over again, in different contexts. |
| State |
An object may have a “state”,
a set of local variables with individual values (e.g. an Account may have
Name, Balance, Interest Rate, and so forth.). |
| Static Typing |
The use of types for each
object at the compile time. |
| Super Class |
In an inheritance hierarchy,
a more general class that stores variables and methods that can be inherited
by other classes. Sometimes referred to as the base or parent object. |
| Template |
It is a keyword that begins
a generic function definition. |
| Type |
A set of objects and the
operations on the objects. A Composite Type is a type whose
objects have multiple parts (e.g. an Account may have a Name, Balance,
Interest Rate and so on.) |
| Type Manager |
A module that contains a
type definition and operations. The module itself is not the type. |
User-Defined
Data Types |
Definition of data types
by the user that hold a specific kind of data. |
| Virtual
Functions |
A special member function
that is invoked through a base class reference or pointer and its bound
dynamically at runtime. |