Object (computer science)
In software development, an object is an entity semantic that has state, behavior, and identity. <ref name="ooa">Template:Cite book</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> 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>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.<ref>https://www.eng.uwo.ca/electrical/faculty/capretz_l/docs/publications/ACM-SIGSOFT-v2.pdf</ref>Template:Dubious 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.<ref name="ooa"/>Template:Rp
- In the relational model of database management, aspects such as table and column may act as objects.<ref name=Oppel>Template:Cite book</ref>
- 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
References
External links
- What Is an Object? from The Java Tutorials
Template:Software engineering Template:Data types Template:Authority control