Object model
In computing
Computing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...

, object model has two related but distinct meanings:
  1. The properties of objects
    Object (computer science)
    In computer science, an object is any entity that can be manipulated by the commands of a programming language, such as a value, variable, function, or data structure...

     in general in a specific computer programming language
    Programming language
    A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

    , technology, notation or methodology
    Methodology is generally a guideline for solving a problem, with specificcomponents such as phases, tasks, methods, techniques and tools . It can be defined also as follows:...

     that uses them. For example, the Java
    Java (programming language)
    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

     objects model
    , the COM
    Component Object Model
    Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

     object model
    , or the object model of OMT
    Object-modeling technique
    The object-modeling technique is an object modeling language for software modeling and designing. It was developed around 1991 by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems and to support object-oriented programming.OMT was developed as an...

    . Such object models are usually defined using concepts such as class
    Class (computer science)
    In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

    , generic function
    Generic function
    In certain systems for object-oriented programming such as the Common Lisp Object System and Dylan, a generic function is an entity made up of all methods having the same name. Typically a generic function itself is an instance of a class that inherits both from function and standard-object...

    , message, inheritance
    Inheritance (computer science)
    In object-oriented programming , inheritance is a way to reuse code of existing objects, establish a subtype from an existing object, or both, depending upon programming language support...

    , polymorphism
    Polymorphism in object-oriented programming
    Subtype polymorphism, almost universally called just polymorphism in the context of object-oriented programming, is the ability to create a variable, a function, or an object that has more than one form. The word derives from the Greek "πολυμορφισμός" meaning "having multiple forms"...

    , and encapsulation
    Information hiding
    In computer science, information hiding is the principle of segregation of the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed...

    . There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages
    Formal semantics of programming languages
    In programming language theory, semantics is the field concerned with the rigorous mathematical study of the meaning of programming languages and models of computation...

  2. A collection of objects or classes through which a program
    Computer program
    A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...

     can examine and manipulate some specific parts of its world. In other words, the object-oriented interface
    Interface (computer science)
    In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...

     some service or system. Such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM)
    Document Object Model
    The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...

     http://www.w3.org/DOM/ is a collection of objects that represent a page
    Web page
    A web page or webpage is a document or information resource that is suitable for the World Wide Web and can be accessed through a web browser and displayed on a monitor or mobile device. This information is usually in HTML or XHTML format, and may provide navigation to other web pages via hypertext...

     in a web browser
    Web browser
    A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

    , used by script
    Scripting language
    A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

     programs to examine and dynamically change the page. There is a Microsoft Excel
    Microsoft Excel
    Microsoft Excel is a proprietary commercial spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications...

     object model http://msdn2.microsoft.com/en-us/library/wss56bz7.aspx for controlling Microsoft Excel from another program, and the ASCOM
    ASCOM (standard)
    ASCOM is an open initiative to provide a standard interface to a range of astronomy equipment including mounts, focusers and imaging devices in a Microsoft Windows environment....

     Telescope Driver http://ascom-standards.org/standards.html is an object model for controlling an astronomical telescope.

An object Model consist of the following important features:

Object Reference: Objects can be accessed via object references. To invoke a method in an object,the object reference and method name are given, together with any arguments.

Interfaces: An interface provide a definition of the signature of a set of methods without specifying their implementation. An object will provide a particular interface if its class contains code that implement the method of that interface. an interface also define types that can be used to declare the type of variables or of parameters and return values of methods.

Actions: Action in an OOP is initiated by an object invoking a method in another object. An invocation can include additional information needed to carry out the method. The receiver execute the appropriate method and then return control to the invoking object, sometimes supplying a result.

Exceptions: Programs can encounter various errors and unexpected conditions of varying seriousness.During the execution of the method many different problems may be discovered.Exceptions provide a clean way to deal with error conditions without complicating the code. A block of code may be defined to throw an exception whenever particular unexpected conditions or errors arise.This means that control passes to another block of code that catches the exception.

Garbage collection: It is necessary to provide the means of freeing the space occupied by objects when they are no longer needed. For example, java can detect automatically when an object is no longer accessible recovers the space and makes it available for allocation to other objects. This process is called as garbage collection.

See also

  • Object-Oriented Programming
    Object-oriented programming
    Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

  • Object-oriented analysis and design
    Object-oriented analysis and design
    Object-oriented analysis and design is a software engineering approach that models a system as a group of interacting objects. Each object represents some entity of interest in the system being modeled, and is characterised by its class, its state , and its behavior...

  • Object Management Group
    Object Management Group
    Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

  • Domain-driven design
    Domain-driven design
    Domain-driven design is an approach to developing software for complex needs by deeply connecting the implementation to an evolving model of the core business concepts...

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.