Object (computer science): Difference between revisions
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
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:
- Possibly the most common use is in-memory objects in a computer program written in an object-based language.
- Information systems can be modeled with objects representing their components and interfaces.[1]Template:Rp
- In the relational model of database management, aspects such as table and column may act as objects.[6]
- Objects of a distributed computing system tend to be larger grained, longer lasting, and more service-oriented than programming objects.
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" />
Script error: No such module "Check for unknown parameters".
External links
- What Is an Object? from The Java Tutorials
Script error: No such module "Navbox". Template:Data types Template:Authority control