Source : Free On-Line Dictionary of Computing
object-oriented programming
(OOP) The use of a class of programming
languages and techniques based on the concept of an "{object}"
which is a data structure ({abstract data type}) encapsulated
with a set of routines, called "{methods}", which operate on
the data. Operations on the data can _only_ be performed via
these methods, which are common to all objects that are
instances of a particular "{class}". Thus the interface to
objects is well defined, and allows the code implementing the
methods to be changed so long as the interface remains the
same.
Each class is a separate {module} and has a position in a
"{class hierarchy}". Methods or code in one class can be
passed down the hierarchy to a {subclass} or inherited from a
{superclass}. This is called "{inheritance}".
A {procedure} call is described as invoking a method on an
object (which effectively becomes the procedure's first
{argument}), and may optionally include other arguments. The
method name is looked up in the object's class to find out how
to perform that operation on the given object. If the method
is not defined for the object's class, it is looked for in its
superclass and so on up the class hierarchy until it is found
or there is no higher superclass.
OOP started with {SIMULA-67} around 1970 and became
all-pervasive with the advent of {C++}, and later {Java}.
Another popular object-oriented programming language (OOPL) is
{Smalltalk}, a seminal example from {Xerox}'s {Palo Alto
Research Center} (PARC). Others include {Ada}, {Object
Pascal}, {Objective C}, {DRAGOON}, {BETA}, {Emerald}, {POOL},
{Eiffel}, {Self}, {Oblog}, {ESP}, {Loops}, {POLKA}, and
{Python}. Other languages, such as {Perl} and {VB}, permit,
but do not enforce OOP.
{FAQ (http://iamwww.unibe.ch/~scg/OOinfo/FAQ/)}.
{(http://zgdv.igd.fhg.de/papers/se/oop/)}.
{(http://cuiwww.unige.ch/Chloe/OOinfo)}.
{Usenet} newsgroup: {news:comp.object}.
(2001-10-11)