Object (computer science): Difference between revisions

Content deleted Content added
Reduce noise
alter lead, add ref to avoid WP:SYNTH, {cn}s, Object-based languages: rescue+expand section from shortening
Line 1:
{{Short description|Programming elemententity with state and associated operationsprocedure}}
 
In [[computer science]], an '''object''' is an [[entity]] with well-defined behavior.<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=020189551X |publisher= Addison-Wesley Professional}}</ref>{{rp|38}}
In [[computer science]], an '''object''' is a [[computer programming|programming]] element that has [[State (computer science)|state]], has associated operations and is accessed via an [[identifier (computer programming)|identifier]].
 
InAny [[object-oriented programming language|language]] that supports a construct with [[State (OOPcomputer science)|state]], anbehavior object(modified via associated [[procedure]]s), and [[identifier (computer programming)|identity]] is anclassified as [[abstractobject-based datalanguage|object-based]]. type[[Object-oriented programming]] (OOP) is object-based with the addition of [[polymorphism (computer science)|polymorphism]] and [[inheritance (object-oriented programming)|inheritance]]. An object-oriented system integrates code and data as objects that each have state (data) and behavior (code). Any language that supports a construct with state and behavior is classified as [[object-based language|object-based]]. In a [[class-based programming|class-based]] language, an object is an also known as an [[Instance (computer science)|instance]] of a [[class (computer science)|class]].
Object is a categorization into which many programming concepts fall. For example, an object can be a [[programming language]] [[variable (computer science)|variable]], [[data structure]], [[subroutine|function]], or [[Method (computer programming)|method]].
 
In [[object-oriented programming]] (OOP), an object is an [[abstract data type]] with the addition of [[polymorphism (computer science)|polymorphism]] and [[inheritance (object-oriented programming)|inheritance]]. An object-oriented system integrates code and data as objects that each have state (data) and behavior (code). Any language that supports a construct with state and behavior is classified as [[object-based language|object-based]]. In a [[class-based programming|class-based]] language, an object is an also known as an [[Instance (computer science)|instance]] of a [[class (computer science)|class]].
In the [[relational model]] of [[database]] management, aspects such as [[Table (database)|table]] and [[Column (database)|column]] may act as objects.<ref name=Oppel>{{cite book |first=Andy |last=Oppel |title=SQL Demystified |publisher=McGraw Hill |year=2005| page=7 |isbn=0-07-226224-9}}</ref>
 
[[Computer systems]] also use objects to model their components and interfaces.<ref name="ooa"/>{{rp|39}}{{cn|date=September 2024}}
 
==Object-based languages==
{{main|Object-based languages}}
An important distinction in programming languages is the difference between an object-oriented language and an object-based language. A language is usually considered object-based if it includes the basic capabilities for an object: identity, properties, and attributes. A language is considered object-oriented if it is object-based and also has the capability of [[Polymorphism (computer science)|polymorphism]], [[Inheritance (object-oriented programming)|inheritance]], [[Encapsulation (computer programming)|encapsulation]], and, possibly, [[Object composition|composition]].<ref name="ooa"/>{{rp|41}}{{cn|date=September 2024}}
 
Not all object-based (or object-oriented) languages are class-based. One prominent alternative paradigm is [[prototype-based programming]], used by [[JavaScript]] and [[Lua (programming language)|Lua]], among others.
 
==Distributed objects==