Object graph: Difference between revisions

Content deleted Content added
SmackBot (talk | contribs)
m Date/fix the maintenance tags or gen fixes using AWB
No edit summary
 
(32 intermediate revisions by 28 users not shown)
Line 1:
{{short description|Network representation of the relationships between objects in a program}}
{{Inappropriate tone|date=December 2007}}
{{mi|
{{Unreferenced|date=November 2014}}
{{Inappropriate tone|date=DecemberNovember 20072014}}}}
 
In [[computer science]], in an [[Object-oriented programming|object-oriented program]], groups of [[Object (computer science)|objects]] form a network through their relationships with each other, either through a direct [[Reference (computer science)|reference]] to another object or through a chain of intermediate references. These groups of objects are referred to as '''object graphs''', after the mathematical objects called [[Graph (discrete mathematics)|graphs]] studied in [[graph theory]].
An '''Object Graph''' is a view of an object system at a particular point in time. Whereas a normal [[data model]] details the relationships between objects, the object graph relates the instances.
 
An '''Objectobject Graph'''graph is a view of an [[object system]] at a particular point in time. WhereasUnlike a normal [[data model]] such as a [[Unified Modeling Language]] (UML) [[class diagram]], which details the relationships between objects[[Class (computer programming)|classes]], the object graph relates thetheir [[Instance (computer science)|instances]]. [[Object diagram]]s are subsets of the overall object graph.
i.e. Instead of a car having a relationship to a wheel, MyCar has four relationships to four different Wheels (FrontLeft, FrontRight, BackLeft, BackRight).
 
Object-oriented applications contain complex webs of interrelated objects. Objects are linked to each other by one object either owning or containing another object or holding a reference to another object. This web of objects is called an object graph and it is the more abstract structure that can be used in discussing an application's state.
== Examples ==
{{Expand|date=March 2007}}
 
==Physical representation==
== See also ==
An object graph is a [[directed graph]], which might be [[Cycle graph|cyclic]]. When stored in [[Random access memory|RAM]], objects occupy different segments of the memory with their attributes and function table, while relationships are represented by [[pointer (computer programming)|pointer]]s or a different type of global handler in higher-level languages.
 
== Examples ==
For instance, a Car class can compose a Wheel one. In the object graph a Car instance will have up to four links to its wheels, which can be named frontLeft, frontRight, back Left and back Right.
An example of an [[adjacency list]] representation might be something as follows:
 
c:Car → {front Left:Wheel, front Right:Wheel, back Left:Wheel, back Right:Wheel}.
 
== See also ==
* [[Data model]]
* [[Object diagram]]
 
{{DEFAULTSORT:Object Graph}}
 
[[Category:Data modeling diagrams]]