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://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.