object-oriented programming
<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://zgdv.igd.fhg.de/papers/se/oop/.
http://cuiwww.unige.ch/Chloe/OOinfo.
Usenet newsgroup: comp.object.
(2001-10-11)
Nearby terms:
Object-Oriented Fortran « object-oriented language «
Object-Oriented Pascal « object-oriented
programming
» object-oriented programming language »
Object-oriented SQL » Object-Oriented Turing
|