Content deleted Content added
Stevebroshar (talk | contribs) Reduce noise |
alter lead, add ref to avoid WP:SYNTH, {cn}s, →Object-based languages: rescue+expand section from shortening Tag: Disambiguation links added |
||
Line 1:
{{Short description|
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 [[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==
|