Printer Friendly
The Free Dictionary
982,635,004 visitors served.
?
Dictionary/
thesaurus
Medical
dictionary
Legal
dictionary
Financial
dictionary
Acronyms
 
Idioms
Encyclopedia
Wikipedia
encyclopedia
?

object-oriented programming

   Also found in: Dictionary/thesaurus, Wikipedia, Hutchinson 0.04 sec.
object-oriented programming, a modular approach to computer program computer program, a series of instructions that a computer can interpret and execute; programs are also called software to distinguish them from hardware, the physical equipment used in data processing .
..... Click the link for more information.
 (software) design. Each module, or object, combines data and procedures (sequences of instructions) that act on the data; in traditional, or procedural, programming the data are separated from the instructions. A group of objects that have properties, operations, and behaviors in common is called a class. By reusing classes developed for previous applications, new applications can be developed faster with improved reliability and consistency of design. The first object-oriented programs, written in the language Simula 67, were used extensively for modeling and simulation, primarily in Europe during the late 1960s and early 1970s. The technique was popularized in the United States during the following decade using the language SmallTalk and achieved its greatest prominence with the development of the object-oriented language C++ during the late 1980s and 1990s.

Bibliography

See P. W. Oman and T. G. Lewis, Milestones in Software Evolution (1990); T. Budd, An Introduction to Object-Oriented Programming (1991); P. Varhol, Object-Oriented Programming: The Software Development Revolution (1993); P. Coad and J. Nicola, OOP, Object-Oriented Programming (1993).


object-oriented programming (OOP)

Computer programming that emphasizes the structure of data and their encapsulation with the procedures that operate upon it. It is a departure from traditional or procedural programming. OOP languages incorporate objects that are self-contained collections of computational procedures and data structures. Programs can be written by assembling sets of these predefined objects in far less time than is possible using conventional procedural languages. OOP has become extremely popular because of its high programming productivity. C++ and Objective-C (early 1980s) are object-oriented versions of C that have gained much popularity. See also Java.


Writing software that supports a model wherein the data and their associated processing (called "methods") are defined as self-contained entities called "objects." Object-oriented programming (OOP) languages, such as C++ and Java, provide a formal set of rules for creating and managing objects. The data in an object model can be stored in the traditional table structure of a relational database (see O-R mapping) or, if the object model is very complex, in an object database, which is designed to hold object data (see object database).

Encapsulation, Inheritance and Polymorphism
There are three major features in object-oriented programming: encapsulation, inheritance and polymorphism.

Encapsulation Enforces Modularity
Encapsulation refers to the creation of self-contained modules that bind processing functions to the data. These user-defined data types are called "classes," and one instance of a class is an "object." For example, in a payroll system, a class could be Manager, and Pat and Jan could be two instances (two objects) of the Manager class. Encapsulation ensures good code modularity, which keeps routines separate and less prone to conflict with each other.

Inheritance Passes "Knowledge" Down
Classes are created in hierarchies, and inheritance allows the structure and methods in one class to be passed down the hierarchy. That means less programming is required when adding functions to complex systems. If a step is added at the bottom of a hierarchy, then only the processing and data associated with that unique step needs to be added. Everything else about that step is inherited. The ability to reuse existing objects is considered a major advantage of object technology.

Polymorphism Takes any Shape
Object-oriented programming allows procedures about objects to be created whose exact type is not known until runtime. For example, a screen cursor may change its shape from an arrow to a line depending on the program mode. The routine to move the cursor on screen in response to mouse movement would be written for "cursor," and polymorphism allows that cursor to take on whatever shape is required at runtime. It also allows new shapes to be easily integrated.

OOP Languages
Used for simulating system behavior in the late 1960s, SIMULA was the first object-oriented language. In the 1970s, Xerox's Smalltalk was the first object-oriented programming language and was used to create the graphical user interface (GUI). Today, C++ and Java are the major OOP languages, while C#, Visual Basic.NET, Python and JavaScript are also popular. ACTOR and Eiffel were earlier OOP languages. The following list compares some basic OOP terms with traditional programming. See object technology and object-oriented DBMS.

   OOP                 Traditional Programming

   class               description of data +
                         processing

   object (instance)   actual data + processing

   attribute           actual data (a field)

   method              function that processes a
                         particular structure

   message             function call

   instantiate         allocate a structure


Object Modeling
When information systems are modeled as objects, they can employ the powerful inheritance capability. Instead of building a table of employees with department and job information in separate tables, the type of employee is modeled. The employee class contains the data and the processing for all employees. Each subclass (manager, secretary, etc.) contains the data and processing unique to that person's job. Changes can be made globally or individually by modifying the class in question.


(programming)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://zgdv.igd.fhg.de/papers/se/oop/. http://cuiwww.unige.ch/Chloe/OOinfo.

Usenet newsgroup: news:comp.object.

?Page tools
Printer friendly
Cite / link
Email
Feedback
? Mentioned in ? References in periodicals archive
 
Easily build interactive multimedia applications for learning on Palm OS handhelds via iShell's expandable, drag-and-drop, object-oriented programming environment.
The new title will incorporate "key elements" and circulation from 101's Journal of Object-Oriented Programming and Java Report.
Theoretical concepts like structured programming, object-oriented programming, databases, and other formal methods have gradually found their way through the industry until some of them have become quite widely understood several decades after their initial appearance.
 
Encyclopedia browser? ? Full browser
 
Object-Oriented Methods
Object-Oriented Modeling
Object-Oriented Modeling
Object-oriented Modelling Technique
Object-Oriented Modular Approach
Object-Oriented Network Fragment
Object-Oriented Neural Network
Object-Oriented Neural Network Simulator
Object-oriented operating system
Object-oriented operating system
Object-Oriented Organization
Object-Oriented Pascal
Object-Oriented Pascal
Object-oriented positioning
Object-Oriented Process, Environment, and Notation (OPEN Consortium)
Object-Oriented Program Dependence Graph
object-oriented programing
object-oriented programing
object-oriented programing
object-oriented programing
object-oriented programing language
object-oriented programing language
object-oriented programing language
Object-Oriented Programing Meta-Language
object-oriented programming
Object-Oriented Programming (usually seen as OOP)
Object-Oriented Programming Environment
object-oriented programming language
object-oriented programming language
object-oriented programming language
Object-Oriented Real Time Software Foundation
Object-Oriented Real-Time System
Object-Oriented Relational Database Management System
Object-oriented Remote Procedure Call
Object-Oriented Requirements Analysis
Object-oriented Requirements Capture and Analysis
Object-Oriented Role Analysis Method
Object-oriented scanning
Object-Oriented Shell
Object-Oriented Software Construction
Object-Oriented Software Construction (book by Bertrand Meyer)
Object-oriented software engineering
Object-Oriented Software Engineering Flow
Object-Oriented Software Engineering in Document Processing
Object-Oriented Software Metrics
Object-Oriented Software Process
Object-oriented SQL
Object-oriented SQL
Object-Oriented Systems
 
Encyclopedia
?

Disclaimer | Privacy policy | Feedback | Copyright © 2008 Farlex, Inc.
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional. Terms of Use.