Content deleted Content added
Stevebroshar (talk | contribs) Make article more representative of notability; semantic web is not very central to the meaning of object (moved to see also); nor is distributed (bullet point) |
No edit summary |
||
(7 intermediate revisions by 6 users not shown) | |||
Line 1:
{{Short description|Software abstraction with state, behavior, and identity}}
In [[software development]], an '''object''' is an [[entity]] that has [[State (computer science)|state]], [[behavior]], and [[Identity (object-oriented programming)|identity]].
<ref name="ooa">{{cite book|title=Object-Oriented Analysis and Design with Applications |edition=3 |date=April 30, 2007 |author1=Grady Booch |author2=Robert Maksimchuk |author3=Michael Engle |author4=Bobbi Young |author5=Jim Conallen |author6=Kelli Houston |isbn= <ref name="Why Natural Scientists Should Care About Object-Oriented Technology">http://www.literateprogramming.com/quantumoo.pdf</ref> {{rp|78}} An object can [[model]] some part of [[reality]] or can be an [[invention]] of the [[design process]] whose collaborations with other such objects serve as the mechanisms that provide some higher-level behavior. Put another way, an object represents an individual, identifiable item, unit, or entity, either real or abstract, with a well-defined role in the problem ___domain.<ref name="ooa"></ref>{{rp|76}} A [[programming language]] can be classified based on its support for objects. A language that provides an encapsulation construct for state, behavior, and identity is classified as [[object-based language|object-based]]. If the language also provides [[polymorphism (computer science)|polymorphism]] and [[inheritance (object-oriented programming)|inheritance]] it is classified as [[Object-oriented programming|object-oriented]]. A language that supports creating an object from a [[class (computer science)|class]] is classified as [[class-based programming|class-based]]. A language that supports object creation via a template object is classified as [[prototype-based programming|prototype-based]].
Line 8 ⟶ 12:
* Possibly the most common use is [[Computer memory|in-memory]] objects in a [[computer program]] written in an object-based language.
* [[Information systems]] can be [[object-oriented analysis and design|modeled]] with objects representing their components and interfaces.<ref name="ooa"/>{{rp|39
* In the [[relational model]] of [[database]] management, aspects such as [[Table (database)|table]] and [[Column (database)|column]] may act as objects.<ref name=Oppel>{{cite book |first=Andy |last=Oppel |title=SQL Demystified |publisher=McGraw Hill |year=2005| page=7 |isbn=0-07-226224-9}}</ref>
* [[Distributed object|Objects]]
▲* [[Information systems]] can be modeled with objects representing their components and interfaces.<ref name="ooa"/>{{rp|39}}{{cn|date=September 2024}}
In purely object-oriented programming languages, such as [[Java]] and [[C Sharp (programming language)|C#]], all classes might be part of an inheritance tree such that the root class is <code>Object</code>, meaning all objects instances of <code>Object</code> or implicitly extend <code>Object</code>.
▲* [[Distributed object]]: The objects in a [[distributed computing]] model tend to be larger grained, longer lasting, and more service-oriented than programming objects.
==See also==
*{{annotated link|Actor model}}
*{{annotated link|Business object}}
*{{annotated link|Instance (computer science)}}
*{{annotated link|Object lifetime}}
*{{annotated link|Object copying}}
|