Opentopia Directory Encyclopedia Tools

Object-oriented programming language

Encyclopedia : O : OB : OBJ : Object-oriented programming language


An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming methods.

Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.

OO languages can be grouped into several broad classes, determined by the extent to which they support all features and functionality of object-orientation and objects: classes, methods, polymorphism, inheritance, and reusability.

Inheritance and polymorphism are usually used to reduce code bloat. Abstraction and encapsulation are used to increase code clarity, quite independent of the other two traits.

Languages with object-oriented features

Implementing designs expressed in UML

The Unified Modeling Language (UML) is a language-agnostic, non-proprietary modeling language that can be used to design object-oriented systems. It is generally regarded as the complete specification of OO, as an abstract design expressed in UML can ideally be implemented in any OO programming languages.

UML specifies, among other things, a set of component types and relationships. There is currently no known OO language that inherently (i.e. without significant manual effort) supports the full OO capability. Features typically lacking include:

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: