object-oriented programming

views updated Jun 27 2018

object-oriented programming (OOP) A programming technique that combines data abstraction, inheritance, and dynamic type binding. The central feature is the object, which comprises a data structure definition and its defined procedures in a single structure. Objects are instances of a class, each instance having its own private instance variables. The class definition defines the properties of the objects in a class. Hierarchical class structures are possible in which objects in a class inherit the properties of the parent class in addition to properties explicitly defined for the class. This facilitates sharing of code, since users can inherit objects from system collections of code.

The procedures of an object (often called methods) are activated by messages sent to the object by another object. Thus in an object-oriented programming system the basic control structure is message passing. The programmer identifies the real-world objects of the problem and the processing requirements of those objects, encapsulating these in class definitions, and the communications between objects. The program is then essentially a simulation of the real world in which objects pass messages to other objects to initiate actions.

The most complete realization of an object-oriented programming system is Smalltalk; the concepts also appear in combination with conventional languages, for example C++ and CLOS.

object-oriented database

views updated May 21 2018

object-oriented database A term not well defined but applied to software products that provide persistence for applications written in object-oriented languages with features such as rollback and recovery. Thus ONTOS provides persistence for C++ and GemStone for a variant of Smalltalk-80. There is no generally accepted object-oriented data model on which products can be based as with the relational model, although various proposals have been and are being made. It remains unclear whether all the concepts of object-oriented programming are relevant in the database context.