Object (computer science): Difference between revisions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
imported>AnomieBOT
m Dating maintenance tags: {{Dubious}}
imported>Rofraja
Fix bare URLs references, add titles
 
Line 3: Line 3:
In [[software development]], an '''object''' is an [[entity]] semantic that has [[State (computer science)|state]], [[behavior]], and [[Identity (object-oriented programming)|identity]].
In [[software development]], an '''object''' is an [[entity]] semantic 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=978-0201895513 |publisher= Addison-Wesley Professional}}</ref><ref name="Why Natural Scientists Should Care
<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=978-0201895513 |publisher= Addison-Wesley Professional}}</ref><ref name="Why Natural Scientists Should Care
About Object-Oriented Technology">http://www.literateprogramming.com/quantumoo.pdf</ref><ref name='Distributed Object-Based Programming Systems">https://dl.acm.org/doi/pdf/10.1145/103162.103165</ref><ref>https://dl.acm.org/doi/pdf/10.1145/38807.38823</ref>
About Object-Oriented Technology">{{Cite web | url=http://www.literateprogramming.com/quantumoo.pdf | title=Is Schrödinger's Cat Object-Oriented? | website=www.literateprogramming.com | author=Adolfo M. Nemirovsky}}</ref><ref name='Distributed Object-Based Programming Systems">{{Cite web | url=https://dl.acm.org/doi/pdf/10.1145/103162.103165| title=Distributed Object-Based Programming Systems | website=dl.acm.org}}</ref><ref>{{Cite web | url=https://dl.acm.org/doi/pdf/10.1145/38807.38823| title=Dimensions of Object-Based Language Design | website=dl.acm.org}}</ref>
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}}
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]].<ref>https://www.eng.uwo.ca/electrical/faculty/capretz_l/docs/publications/ACM-SIGSOFT-v2.pdf</ref>{{Dubious|reason=this contradicts the highest article about OOP|date=November 2025}} 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]].
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]].<ref>{{Cite web| title=A Brief History of the Object-Oriented Approach | url=https://www.eng.uwo.ca/electrical/faculty/capretz_l/docs/publications/ACM-SIGSOFT-v2.pdf | archive-url=https://web.archive.org/web/20170808195718/http://eng.uwo.ca/electrical/faculty/capretz_l/docs/publications/acm-sigsoft-v2.pdf | archive-date=2017-08-08}}</ref>{{Dubious|reason=this contradicts the highest article about OOP|date=November 2025}} 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]].


The concept of object is used in many different software contexts, including:
The concept of object is used in many different software contexts, including:
Line 37: Line 37:
* [[Object composition]]
* [[Object composition]]
* [[Object copying]]
* [[Object copying]]
* [[Object graph]]
* [[Object lifetime]]
* [[Object lifetime]]
* [[Object-based language]]
* [[Object-based language]]

Latest revision as of 19:19, 27 November 2025

Template:Short description

In software development, an object is an entity semantic that has state, behavior, and identity. [1][2][3][4] 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.[1]Template:Rp

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. If the language also provides polymorphism and inheritance it is classified as object-oriented.[5]Script error: No such module "Unsubst". A language that supports creating an object from a class is classified as class-based. A language that supports object creation via a template object is classified as prototype-based.

The concept of object is used in many different software contexts, including:

In purely object-oriented programming languages, such as Java and C#, all classes might be part of an inheritance tree such that the root class is Object, meaning all objects instances of Object or implicitly extend Object.

See also

Script error: No such module "Template wrapper".Script error: No such module "Check for unknown parameters".

References

<templatestyles src="Reflist/styles.css" />

  1. a b c Script error: No such module "citation/CS1".
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "citation/CS1".
  4. Script error: No such module "citation/CS1".
  5. Script error: No such module "citation/CS1".
  6. Script error: No such module "citation/CS1".

Script error: No such module "Check for unknown parameters".

External links

Script error: No such module "Navbox". Template:Data types Template:Authority control