In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, object model has two related but distinct meanings:
# The properties of
objects in general in a specific computer
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, technology, notation or
methodology
In its most common sense, methodology is the study of research methods. However, the term can also refer to the methods themselves or to the philosophical discussion of associated background assumptions. A method is a structured procedure for bri ...
that uses them. Examples are the object models of ''
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
'', the ''
Component Object Model
Component Object Model (COM) is a binary-interface technology for software components from Microsoft that enables using objects in a language-neutral way between different programming languages, programming contexts, processes and machines ...
(COM)'', or ''
Object-Modeling Technique
The object-modeling technique (OMT) is an object modeling language, object modeling approach for Computer software, software modeling and designing. It was developed around 1991 by James Rumbaugh, Rumbaugh, Blaha, Premerlani, Eddy and Lorensen a ...
(OMT)''. Such object models are usually defined using concepts such as
class
Class, Classes, or The Class may refer to:
Common uses not otherwise categorized
* Class (biology), a taxonomic rank
* Class (knowledge representation), a collection of individuals or objects
* Class (philosophy), an analytical concept used d ...
,
generic function,
message
A message is a unit of communication that conveys information from a sender to a receiver. It can be transmitted through various forms, such as spoken or written words, signals, or electronic data, and can range from simple instructions to co ...
,
inheritance
Inheritance is the practice of receiving private property, titles, debts, entitlements, privileges, rights, and obligations upon the death of an individual. The rules of inheritance differ among societies and have changed over time. Offi ...
,
polymorphism, and
encapsulation. There is an extensive literature on formalized object models as a subset of the
formal semantics of programming languages
In programming language theory, semantics is the rigorous mathematical study of the meaning of programming languages. Semantics assigns computational meaning to valid string (computer science), strings in a programming language syntax. It is cl ...
.
# A collection of objects or classes through which a
program can examine and manipulate some specific parts of its world. In other words, the object-oriented
interface to 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
The Document Object Model (DOM) is a cros s-platform and language-independent API that treats an HTML or XML document as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with ...
(DOM) is a collection of objects that represent a
page
Page most commonly refers to:
* Page (paper), one side of a leaf of paper, as in a book
Page, PAGE, pages, or paging may also refer to:
Roles
* Page (assistance occupation), a professional occupation
* Page (servant), traditionally a young m ...
in a
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
, used by
script programs to examine and dynamically change the page. There is a
Microsoft Excel
Microsoft Excel is a spreadsheet editor developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android, iOS and iPadOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a ...
object mode
for controlling Microsoft Excel from another program, and the
ASCOM (standard), ASCOM Telescope Driver is an object model for controlling an astronomical telescope.
An object model consists 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 provides 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 defines types that can be used to declare the type of variables or parameters and
return values of methods.
;Actions: An action in
object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
(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 executes the appropriate method and then returns 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.
See also
*
Object-oriented programming
Object-oriented programming (OOP) is a programming paradigm based on the concept of '' objects''. Objects can contain data (called fields, attributes or properties) and have actions they can perform (called procedures or methods and impl ...
*
Object-oriented analysis and design
Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development pro ...
*
Object database
*
Object Management Group
The Object Management Group (OMG®) is a computer industry Standards Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
*
Domain-driven design
*
Eigenclass model
Literature
*
*
*
*
*
External links
Document Object Model (DOM)The official
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
definition of the DOM.
"The Java Object Model"The Ruby Object Model: Data Structure in DetailObject Membership: The core structure of object-oriented programmingA "representative sample of the design space of object models" (sense 1).
ASCOM Standardsweb site
Object-oriented programming
{{software-eng-stub