object-oriented programming

object-oriented programming

[¦äb‚jekt ‚ȯr·ē‚en·təd ′prō‚gram·iŋ]

(computer science)

A computer programming methodology that focuses on data rather than processes, with programs composed of self-sufficient modules (objects) containing all the information needed to manipulate a data structure. Abbreviated OOP.

McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.

Object-oriented programming

A computer-programming methodology that focuses on data items rather than processes. Traditional software development models assume a top-down approach. A functional description of a system is produced and then refined until a running implementation is achieved. Data structures (and file structures) are proposed and evaluated based on how well they support the functional models.

The object-oriented approach focuses first on the data items (entities, objects) that are being manipulated. The emphasis is on characterizing the data items as active entities which can perform operations on and for themselves. It then describes how system behavior is implemented through the interaction of the data items.

The essence of the object-oriented approach is the use of abstract data types, polymorphism, and reuse through inheritance.

Abstract data types define the active data items described above. A traditional data type in a programming language describes only the structure of a data item. An abstract data type also describes operations that may be requested of the data item. It is the ability to associate operations with data items that makes them active. The abstract data type makes operations available without revealing the details of how the operations are implemented, preventing programmers from becoming dependent on implementation details. The definition of an operation is considered a contract between the implementor of the abstract data type and the user of the abstract data type. The implementor is free to perform the operation in any appropriate manner as long as the operation fulfills its contract. Object-oriented programming languages give abstract data types the name class.

Polymorphism in the object-oriented approach refers to the ability of a programmer to treat many different types of objects in a uniform manner by invoking the same operation on each object. Because the objects are instances of abstract data types, they may implement the operation differently as long as they fulfill the agreement in their common contract.

A new abstract data type (class) can be created in object-oriented programming simply by stating how the new type differs from some existing type. A feature that is not described as different will be shared by the two types, constituting reuse through inheritance. Inheritance is useful because it replaces the practice of copying an entire abstract data type in order to change a single feature.

In the object-oriented approach, a class is used to define an abstract data type, and the operations of the type are referred to as methods. An instance of a class is termed an object instance or simply an object. To invoke an operation on an object instance, the programmer sends a message to the object.

McGraw-Hill Concise Encyclopedia of Engineering. © 2002 by The McGraw-Hill Companies, Inc.

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: news:comp.object.

This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)