Object (computer science)#Objects in object-oriented programming
{{Short description|Software abstraction with state, behavior, and identity}}
In software development, an object is an entity that has state, behavior, and identity.{{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}}{{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.{{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. If the language also provides polymorphism and inheritance it is classified as object-oriented. 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.{{rp|39}}
- In the relational model of database management, aspects such as table and column may act as objects.{{cite book |first=Andy |last=Oppel |title=SQL Demystified |publisher=McGraw Hill |year=2005| page=7 |isbn=0-07-226224-9}}
- Objects of a distributed computing system 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}}
- {{annotated link|Semantic Web}}
References
{{Reflist}}
External links
- [http://java.sun.com/docs/books/tutorial/java/concepts/object.html What Is an Object?] from The Java Tutorials
{{Software engineering}}
{{Data types}}
{{Authority control}}
{{DEFAULTSORT:Object (computer science)}}