HOME
Microgold offers technical assistance on a number of different levels depending on the tech support package that you purchase with your software. Many questions can be answered by simply reviewing the topics under our FAQs. We can be contacted by phone or email, or through the web interface.

Object Oriented Programming Glossary

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


A

Abstract Class

A class that has no instances. An abstract class is written with the expectation that its concrete subclasses will add to its structure and behavior, typically by implementing its abstract operations.

Abstract Operation

An operation that is declared but not implemented by an abstract class. In C++, an abstract operation is declared as a pure virtual member function.

Abstraction

The essential characteristics of an object that distinguishes it from all other kinds of objects and thus provide crisply-defined conceptual boundaries relative to the perspective of the viewer; the process of focusing upon the essential characteristics of an object. Abstraction is one of the fundamental elements of the object model.

Access Control

The mechanism for control of access to the structure or behavior of a class. Public items are accessible by all; protected items are accessible only by the subclasses, implementation, and friends of the class containing the item; private items are accessible only by the implementation and friends of the class containing the item; implementation items are accessible only by the implementation of the class containing the item.

Action

An operation that, for all practical purposes, takes zero time. An action may denote the invocation of a method, the triggering of another event, or the starting or stopping of an activity.

Active Object

An object that encompasses its own thread of control.

Activity

An operation that takes some time to complete.

Actor

An object that can operate upon other objects but is never operated upon by other objects. In some contexts, the terms active object and actor are interchangeable.

Agent

An object that can both operate upon other objects and be operated upon by other objects. An agent is usually created to do some work on behalf of an actor or another agent.

Aggregate Object

An object composed of one or more other objects, each of which is consider a part of the aggregate object.

Algorithmic Decomposition

The process of breaking a system into parts, each of which represents some small step in a larger process. The application of structured design methods leads to an algorithmic decomposition, whose focus is upon the flow of control within a system.

Architecture

The logical and physical structure of a system, forged by all the strategic and tactical design decisions applied during development.

Assertion

The Boolean expression of some condition whose truth must be preserved.

Association

A relationship denoting a semantic connection between two classes.

Attribute

A part of an aggregate object.
back to top

B

Base Class

The most generalized class in a class structure. Most applications have many such root classes. Some languages define a primitive base class, which serves as the ultimate superclass of all classes.

Behavior

How an object acts and reacts, in terms of its state changes and message passing; the outwardly visible and testable activity of an object.

Blocking Object

A passive object whose semantics are guaranteed in the presence of multiple threads of control. Invoking an operation of a blocking object blocks the client for the duration of the operation.
back to top

C

Cardinality

The number of instances that a class may have; the number of instances that participate in a class relationship.

CASE (Computer Assisted Software Engineering) Tool

A CASE tool is any program which provides a programmer with additional means of designing and/or analyzing the structure of their program. Traditionally, these are programs which provide a interactive graphical representation of a programs object structure.

Class

A set of objects that share a common structure and a common behavior. The terms class and type are usually (but not always) interchangeable; a class is a slightly different concept that a type, in that it emphasizes the classifications of structure and behavior.

Class Category

A logical collection of classes, some of which are visible to other class categories, and other of which are hidden. The class in a class category collaborate to provide a set of services.

Class Diagram

Part of the notation of object-oriented design, used to show the existence of classes and their relationships in the logical design of a system. A class diagram may represent all or part of the class structure of a system.

Class Operation

An operation, such as a constructor or destructor, directed at a class rather than an object.

Class Structure

A graph whose vertices represent classes and whose arcs represent relationships among these classes. The class structure of a system is represented by a set of class diagrams.

Class Utility

A collection of free subprograms or, in C++, a class that only provides static members and/or static member functions.

Class Variable

Part of the state of a class. Collectively, the class variable of a class constitute its structure. A Class variable is shared by all instances of the same class. In C++, a class variable is declared as a static member.

Client

An object that uses the services of another object, either by operation upon it or by referencing its state.

Collaboration

The process whereby several objects cooperate to provide some high-level behavior.

Concrete Class

A class whose implementation is complete and thus may have instances.

Concurrency

The property that distinguishes an active object from one that is not active.

Concurrent Object

An active object whose semantics are guaranteed in the presence of multiple threads of control.

Constraint

The expression of some semantic condition that must be preserved.

Constructor

An operation that creates an object and/or initializes its state.

Container Class

A class whose instances are collections of other objects. Container classes may denote homogeneous collections (all of the objects in the collections are of the same class) or heterogeneous collections (each of the objects in the collections may be of a different class, although all must generally share a common superclass). Container classes are most often defined as parameterized classes, with some parameter designating the class of the contained objects.

CRC Cards

Class/Responsibilities/Collaborators; a simple tools for brainstorming about the key abstractions and mechanisms in a system.
back to top

D

Data Dictionary

A comprehensive repository enumerating all the classes in a system.

Delegation

The actor of one object forwarding an operation to another object, to be performed on behalf of the first object.

Destructor

An operation that frees the state of an object and/or destroys the object itself.

Device

A piece of hardware that has no computational resources.

Dynamic Binding

Binding denotes the association of a name (such as a variable declaration) with a class; dynamic binding is a binding in which the name/class association is not made until the object designated by the name is created at execution time.
back to top

E

Encapsulation

The process of compartmentalizing the elements of an abstraction that constitute its structure and behavior; encapsulation serves to separate the contractual interface of an abstraction and its implementation.

Event

Some occurrence that may cause the state of a system to change.

Exception

An indication that some invariant has not or cannot be satisfied. In C++, we throw an exception to abandon processing and alert some other object of the problem, which in turn may catch the exception and handle the problem.
back to top

F

Field

A repository for part of the state of an object; collectively, the fields of an object constitute its structure. The terms field, instance variable, member object, and slot are interchangeable.

Forward-Engineering

The production of executable code from a logical or physical model.

Free Subprogram

A procedure of function that serves as a nonprimitive operation upon an object or objects of the same or different classes. A free subprogram is any subprogram that is not a method of an object.

Framework

A collection of classes that provide a set of services for a particular domain; a framework thus exports a number of individual classes and mechanisms that clients can use or adapt.

Friend

A class or operation whose implementation may reference the private parts of another class, who alone can extend the offer of friendship.

Function

An input/output mapping resulting from some object's behavior.

Function Point

In the context of a requirements analysis, a single, outwardly visible and testable activity.
back to top

G

Generic Class

A class that serves as a template for other classes, in which the template may be parameterized by other classes, objects, and/or operations. A generic class must be instantiated (its parameters filled in) before objects can be created. Generic classes are typically used as container classes. The terms generic class and parameterized class are interchangeable.

Generic Function

An operation upon an object. A generic function of a class may be redefined in subclasses; thus, for a given object, it is implemented through a set of methods declared in various classes related via their inheritance hierarchy. The terms generic function and virtual function are usually interchangeable.

Guard

A Boolean expression applied to an event; if true, the expression permits the event to cause the state of the system to change.
back to top

H

Hierarchy

A ranking or ordering of abstractions. The two most common hierarchies in a complex system include its class structure (including "kind of" hierarchies) and its object structure (including "part of" and collaboration hierarchies); hierarchies may also be found in the module and process architectures of a complex system.
back to top

I

Identity

The nature of an object that distinguishes it form all other objects

Idiom

An expression peculiar to a certain programming language or application culture, representing a generally accepted convention for use of the language.

Implementation

The inside view of a class, object, or module, including the secrets of its behavior.

Information Hiding

The process of hiding all the secrets of an object that do not contribute to its essential characteristics; typically, the structure of an object is hidden, as well as the implementation of its methods.

Inheritance

A relationship among classes, wherein one class shares the structure or behavior defined in one (single inheritance) or more (multiple inheritance) other classes. Inheritance defines an "is-a" hierarchy among classes in which a subclass inherits from one or more generalized superclasses; a subclass typically specializes its superclasses by augmenting or redefining existing structure and behavior.

Instance

Something you can do things to. An instance has state, behavior, and identity. The structure and behavior of similar instances are defined in their common class. The terms instance and object are interchangeable.

Instance Variable

A repository for part of the state of an object. Collectively, the instance variable of an object constitute its structures. The terms field, instance variable, member object, and slot are interchangeable.

Instantiation

The process of filling in the template of a generic or parameterized class to produce a class from which one can create instances.

Interaction Diagram

Part of the notation of object-oriented design, used to show the execution of a scenario in the context of an object diagram.

Interface

The outside view of a class, object, or module, which emphasizes its abstraction while hiding its structure and the secrets of its behavior.

Invariant

The boolean expression of some conditions whose truth must be preserved.

Iterator

An operation that permits the parts of an object to be visited.
back to top

J

K

Key

An attribute whose value uniquely identifies a single target object.

Key Abstraction

A class or object that forms part of the vocabulary of the problem domain.
back to top

L

Layer

The collection of class categories or subsystems at the same level of abstraction.

Level of Abstraction

The relative ranking of abstractions in a class structure, object structure, module architecture, or process architecture. In terms of its "part of" hierarchy, a given abstraction is at a higher level of abstraction than other if it builds upon the others; in terms of their "kind of" hierarchy, high-level abstractions are generalized, and low-level abstractions are specialized.

Link

Between two objects, one instance of an association.
back to top

M

Mechanism

A structure whereby objects collaborate to provide some behavior that satisfies a requirement of the problem.

Member Function

An operation upon an object, defined as part of the declaration of a class; all member functions are operations, but not all operations are member functions. The terms member function and method are usually interchangeable. In some languages, a member function stands alone and may be redefined in a subclass; in other languages, a member function may not be redefined, but serves as part of the implementation of a generic function or virtual function, both of which may be redefined in a subclass.

Member Object

A repository for part of the state of an object; collectively, the member objects of an object constitute its structure. The terms field, instance variable, member object, a slot are interchangeable.

Message

An operation that one object performs upon another. The terms message, method, and operation are usually interchangeable.

Metaclass

The class of a class; a class whose instances are themselves classes.

Method

An operation upon an object, defined as part of the declaration of a class; all methods are operations, but not all operations are methods, The terms message, method and operation are usually interchangeable. In some languages, a method stands alone and may be redefined in a subclass; in other languages, an method may mot be redefined, but serves as part of the implementation of a generic function or a virtual function, both of which may be redefined in a subclass.

Mixin

A class that embodies a single , focused behavior, used to augment the behavior of some other class via inheritance; the behavior of a mixin is usually orthogonal to the behavior of the classes with which it is combined.

Modularity

The property of a system that has been decomposed into a set of cohesive and loosely coupled modules.

Module

A unit of code that serves as a building block for the physical structure of a system; a program unit that contains declarations, expressed in the vocabulary of a particular programming language, that form the physical realization of some or all of the classes and objects in the logical design of the system. A module typically has two parts: its interface and its implementation.

Module Architecture

A graph whose vertices represent modules and whose arcs represent relationships among these modules. The module architecture of a system is represented by a set of module diagrams.

Module Diagram

Part of the notation of object-oriented design, used to show the allocation of classes and objects to modules in the physical design of a system. A module diagram may represent all or part of the module architecture of a system.

Monomorphism

A concept in type theory, according to which a name (such as a variable declaration) may only denote objects of the same class.
back to top

N

O

Object

Something you can do things to. An object has state, behavior, and identity; the structure and behavior of similar objects are defined in their common class. The terms instance and object are interchangeable.

Object Diagram

Part of the notation of object-oriented design, used to show the existence of objects and their relationships in the logical design of a system. An object diagram may represent all or part of the object structure of system, and primarily illustrates the semantics of mechanisms in the logical design. A single object diagram represents a snapshot in time of an otherwise transitory event of configurations of objects.

Object Model

The collection of principles that form the foundation of object-oriented design; a software engineering paradigm emphasizing the principles of abstraction, encapsulation, modularity, hierarchy, typing, concurrency, and persistence.

Object Structure

A graph whose vertices represent objects and whose arcs represent relationships among those objects. The object structure of a system is represented by a set of object diagrams.

Object-Based Programming

A method of programming in which programs are organized as cooperative collections of objects, each of which represents an instance of some type, and whose types are all members of a hierarchy of types united via other than inheritance relationships. In such programs, types are generally viewed as static, whereas objects typically have a much more dynamic nature, somewhat constrained by the existence of static binding and monomorphism.

Object-Oriented Analysis

A method of analysis in which requirements are examined form the perspective of the class and objects found in the vocabulary of the problem domain.

Object-Oriented Decomposition

The process of breaking a system into parts, each of which represents some class or object from the problem domain. The application of object-oriented design methods leads to an object-oriented decomposition, in which we view the world as a collection of objects that cooperate with one another to achieve some desired functionality.

Object-Oriented Design

A method of design encompassing the process of object-oriented decomposition and a notation for depicting both logical and physical as well as static and dynamic models of the system under design; specifically, this notation includes class diagrams, object diagrams, module diagrams, and process diagrams.

Object-Oriented Programming

A method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships. In such programs, classes are generally viewed as static, whereas objects typically have a much more dynamic nature, which is encouraged by the existence of dynamic binding and polymorphism.

Operation

Some work that one object performs upon another in order to elicit a reaction. All of the operations upon a specific object may be found in free subprograms and member functions or methods, The terms message, method, and operation are usually interchangeable.
back to top

P

Parameterized Class

A class that serves a a template for other classes, in which the template may be parameterized by other classes, objects, and/or operations. A parameterized class must be instantiated (its parameters filled in) before instances can be created. Parameterized classes are typically used as container classes; the terms generic class and parameterized class are interchangeable.

Partition

The class categories or subsystems that form a part of a given level of abstraction.

Passive Object

An object that does not encompass its own thread of control.

Persistence

The property of an object by which its existence transcends time(i.e., the object continues to exist after its creator ceases to exists) and/or space (i.e., the object's locations moves from the address space in which it was created).

Polymorphism

A concept in type theory, according to which a name (such as a variable declaration) may denote objects of many different classes that are related by some common superclass; thus, any object denoted by this name is able to respond to some common set of operations in different ways.

Postcondition

An invariant satisfied by an operation.

Precondition

An invariant assumed by an operation.

Private

A declaration that forms part of the interface of a class, object, or module; what is declared as private is not visible to any other classes, objects, or modules.

Process

The activation of a single thread of control.

Process Architecture

A graph whose vertices represent processors and devices and whose arcs represent connections among these processors and devices. The process architecture of a system is represented by a set of process diagrams.

Process Diagram

Part of the notation of object-oriented design, used to show the allocation of processes to processors in the physical design of a system. A process diagram may represent all or part of the process architecture of a system.

Processor

A piece of hardware that has computation resources.

Protected

A declaration that forms part of the interface of a class, object, or module, but that is not visible to any other classes, objects, or modules except those that represent subclasses.

Protocol

The ways in which an object may act and react, constituting the entire static and dynamic outside view of the object; the protocol of an object defines the envelope of the object's allowable behavior.

Public

A declaration that forms part of the interface of a class, object, or module, and that is visible to all other classes, objects, and modules that have visibility to it.
back to top

Q

R

Reactive System

An event-driven system; the behavior of a reactive system is not a simple input/out mapping.

Real-Time System

A system whose essential processes must meet certain critical time deadlines. A hard-real-time system must be deterministic; missing a deadline may lead to catastrophic results.

Responsibility

Some behavior for which an object is held accountable; a responsibility denotes the obligation of an object to provide a certain behavior.

Reverse-Engineering

The production of a logical or physical model from executable code.

Role

The purpose or capacity wherein one class or object participates in a relationship with another; the role of an object denotes the selection of a set of behaviors that are well-defined at a single point in time; a role is the face an object presents to the world at a given moment.

Round-Trip Gestalt Design

A style of design that emphasizes the incremental and iterative development of a system, through the refinement of different yet consistent logical and physical views of the system as a whole; the process of object-oriented design is guided by the concepts of round-trip gestalt design; round-trip gestalt design is a recognition of the fact that the big picture of a design affects its details, and that the details often affect the big picture.
back to top

S

Scenario

An outline of events that elicits some system behavior.

Selector

An operation that accesses the state of an object but does not alter that state.

Sequential Object

A passive object whose semantics are guaranteed only in the presence of a single thread of control.

Server

An object that never operates upon other objects, but is only operated upon by other objects; an object that provides certain services.

Service

The behavior provided by a given part of a system.

Signature

The complete profile of an operation's formal arguments and return type.

Slot

A repository for part of the state of an object; collectively, the slots of an object constitute its structure. The terms field, instance variable, member object, and slot are interchangeable.

Space Complexity

The relative or absolute time in which some operation completes.

State

The cumulative results of the behavior of an object; one of the possible conditions in which an object may exist, characterized by definite quantities that are distinct from other quantities; at any given point in time, the state of an object encompasses all of the (usually static) properties of the object plus the current (usually dynamic) values of each of these properties.

State Transition Diagram

Part of the notation of object-oriented design, used to show the state space of a given class, the events that cause a transition from one state to another, and the actions that result from a state change.

State Space

An enumeration of all the possible states of an object. The state space of an object encompasses an indefinite yet finite number of possible (although not always desirable not expected) states.

Static Binding

Binding denotes the association of a name (such as a variable declaration) with a class; static binding is a binding in which the name/class association is made when the name is declared (at compile time) but before the creation of the object that the name designates.

Strategic Design Decision

A design decision that has sweeping architectural implications.

Strongly Typed

A characteristic of a programming language, according to which all expressions are guaranteed to be type-consistent.

Structure

The concrete representation of the state of an object. An object does not share its state with any other object, although all objects of the same class do share the same representation of their state.

Structured Design

A method of design encompassing the process of algorithmic decomposition.

Subclass

A class that inherits from one of more classes (which are called its immediate superclasses).

Subsystem

A collection of modules, some of which are visible to other subsystems and others of which are hidden.

Superclass

The class from which another class inherits (which is called its immediate subclass).

Synchronization

The concurrency semantics of an operation. An operation may be simple (only one thread of control is involved), synchronous (two processes rendezvous), balking (one process may rendezvous with another only if the second process is already waiting), timeout (one process may rendezvous with another, but will wait or the second process only for a specified amount of time), or asynchronous (the two processes operate independently).
back to top

T

Tactical Design Decision

A design decision that has local architectural implications.

Thread of Control

A single process. The start of a thread of control is the root from which independent dynamic action within a system occurs; a given system may have many simultaneous thread of control, some of which may dynamically come into existence and then cease to exist. Systems executing across multiple CPU's allow for truly concurrent threads of control, whereas systems running on a single CPU can only achieve the illusion of concurrent threads of control.

Time Complexity

The relative or absolute space consumed by an object.

Transformational System

A system whose behavior is an input/output mapping.

Transition

The passing from one state to another state.

Type

The definition of the domain of allowable values that an object may possess and the set of operations that may be performed upon the object. The terms class and type are usually (but not always) interchangeable; a type is a slightly different concept than a class, in that it emphasizes the importance of conformance to a common protocol.

Typing

The enforcement of the class of an object, which prevents objects of different types from being interchanged or, at the most, allow them to be interchanged only in very restricted ways.
back to top

U

Use

To reference the outside view of an abstraction.
back to top

V

Virtual Function

An operation upon an object. A virtual function may be redefined by subclasses; thus, for a given object, it is implemented through a set of methods declared in various classes that are related via their inheritance hierarchy. The terms generic function and virtual function are usually interchangeable.

Visibility

The ability of one abstraction to see another and thus reference resources in its outside view. Abstractions are visible to one another only where their scopes overlap. Export control may further restrict access to visible abstractions.
back to top

W

X

Y Z

back to top

GOLD TECH 1 | GOLD TECH 2 | GOLD TECH 3 |
WITH CLASS FAQ | VBA FAQ | UML FAQ
buy cialis cialisfunsurforg cialisfunsurforg onlinehtml site cialis and back pain cialis levitra vs combine viagra and cialis allowed black buy casino cialis diet gambling health jack phentermine poker tag viagra xhtml canada over the counter cialis viagra cialis generic viagra cialis viagra levitra prices women take cialis drug buy cialis tadalafil cialis drinking alcohol cialis online usa levitra vs cialis vs viagra brand name cialis cheapest soft cialis cialis get viagra cialis viagra taking cialis with viagra buy cialis where cialis drugs cialis over dose lowest price generic cialis buy cialis generic ciales web site marketing cialis interaction precautions cialis western open add cialis link new buying generic cialis cialis free cialis suggest url valium detox buy cialis pharmacy cialis experience cialis pills online cialis buy cialis dream pharmaceutical cialis and oral sex cialis lawyer columbus compare viagra cialis levitra viagra cialis levitra buy cialis shop tadalafil cialis fast heart rate cialis online pharmacy online pharmacy cialis seychelles buy cialis ebay find tadalafil cheap cialis cialis injury attorney cincinnati cialis uk similar drugs for cialis buy cialis online submit=buy cialis online cialis dose it work cialis no prescription needed generic cialis muncie indiana buy cialis genericf hostingcom link cialis cheap no prescription cialis injury attorney cleveland cialis versus viagra 20mg cialis canada cialis deals cialis forum cialis free consultation cialis sample price viagra cialis levitra buy cialis link onlineinttc cialis class action lawsuit cialis levitra combine cialis and levitra viagra allowed black buy casino cialis diet gambling jack low online order phentermine poker tag viagra xhtml can cialis and viagra be taken together cialis free sample coupon cialis soft tab online consultation purchase cialis buy cialis online us cialis commercial cialis line differences viagra cialis levitra allowed black casino cialis diet gambling health jack phentermine poker tag viagra xhtml can i get cialis in canada cialis free samples cialis samples sale without prescription cialis in detroit area buy cialis cialis drug prescription cialis on second attempt generic viagra cialis levitra best cialis price canadian perscription of cialis cialis free trial cialis site suggest samples of viagra cialis levitra buy cialis now cialis cheap cialis injury lawyer ohio cialis viagra vs valium buying online buy discount cialis cialis effects side cialis online discount cialis soft allowed black buy casino cialis diet gambling jack online order phentermine poker tag viagra xhtml by cialis comment post posted cialis for sale on line cialis prescription las posas de ciales buy canada cialis cheap generic cialis cialis generic price cialis soft tab prescription cialis on line buy cialis online viagra cialis compare levitra cialis link online suggest discount generic cialis . buy tadalafil cialis cialis for sale cialis open western lowest cialis levitra prices buy cialis dosage effects online side warning cheap cialis generic cialis free sample cialis soft tab online consultation usa side effects of cialis buy cialis link suggest cialis attorney columbus cialis information pamphlet cialis stories viagra cialis generica buy cialis viagra cialis compared to viagra cialis new viagra dangers of taking cialis allowed cialis tag viagra xhtml canada cialis cialis for woman cialis overnight hypertension treatment using cialis buy cheap cialis canadian cialis cialis for women cialis price order cialis submit=order cialis buy cialis in the uk cheapest cialis generic cialis generic cialis sale review cialis levitra viagra buy cialis link onlinenew pharminfo cialis and liver disease cialis how to avoid backache cialis soft tabs penis pump plus cialis buy cialis online cialis comparison levitra viagra cialis icos lily online cialis tadalafil swflash 1.cab buy cialis online dreampharmaceuticals cialis co drug eli impotence lilly cialis julilatiwaveprohostingcom link onlinehtml cialis samples submit=cialis samples mixing cialis and viagra buy cialis without prescription cheap cialis submit=cheap cialis cialis female view cialis review lawsuits involving blindness caused by cialis buy cialis generic online canada cialis line cialis female opinion cialis online submit=cialis online generic cialis submit=generic cialis buy cialis link onlinenettc can you mix cialis and viagra cialis fda approval cialis online buy generic cialis 20 mg best price cialis buy viagra cialis levitra cialis erectile dysfunction cialis official website erection does not go down after taking cialis black casino cialis diet followup gambling health jack phentermine poker post viagra cialis 20mg cialis generic link suggest cialis woman sitemap2 add cialis link buy generic cialis cialis dosage cialis melt packs buy generic cialis online