Object graph

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer science, 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 subsets 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[edit]

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[edit]

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

See also[edit]