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:

  • 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}}

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}}