Object graph
![]() | This article's tone or style may not reflect the encyclopedic tone used on Wikipedia. (December 2007) |
An Object graph is a view of an object system at a particular point in time. Whereas a normal data model such as a UML Class diagram details the relationships between classes, the object graph relates their instances. Object diagrams are subset of the overall object graph. 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.
Physical representation
An object graph is a directed graph, which might be cyclic. When stored in RAM, objects occupy different segments of the memory with their attributes and function table, while relationships are represented by pointers or a different type of global handler in higher-level languages.
Examples
![]() | This section needs expansion. You can help by adding to it. (March 2007) |
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, backLeft and backRight. Example of an adjacency list representation: c:Car → {frontLeft:Wheel, frontRight:Wheel, backLeft:Wheel, backRight:Wheel}.