From: Integration of the Gene Ontology into an object-oriented architecture
Object-Oriented Term | Object-Oriented Definition * | Object-Oriented use of the GO | Example |
---|---|---|---|
Class | A class is a template from which object instances are created. It specifies the common characteristics that objects created from it will contain | Classes are created from gene products whose characteristics are defined by the GO molecular function and cellular component terms | The class Smad 2 is created based on the properties of the gene product Smad 2, which are defined by molecular functions such as "protein homodimerization' (GO:0042803) and 'ATP binding' (GO:0042301) |
Object | An instance of a class that contains unique properties | Objects are created from the template classes, but may contain properties unique to a particular object | Two different Smad 2 objects may be created, one of which is phosphorylated, and one which is not |
Inheritance | Relationships between classes, whereby a more specific class inherits all the properties and methods of the classes they belong to | Relationships defined by 'is a' are generalizations in which child classes of the DAG inherit the properties of the parent class (if a child class has multiple parent classes, multiple inheritance applies) | The cellular component 'plasma membrane' (GO:0005886) inherits the properties of the general class cellular component 'membrane' (GO:0016020) |
Composition | Certain objects may be assembled from collections of other objects | 'part_of' relationships defined in the GO DAG are rendered as composition relationships in an OOM | The 'membrane' (GO:0005623) and 'intracellular' (GO:0005622) space are part of the 'cell' (GO:0005623) |
Polymorphism | The ability of an object to interpret messages differently when received by different objects | GO functions may change for different proteins and be given different input and output values | The function 'protein homodimerization activity' (GO:0042803) in the context of SMAD2 accepts two SMAD2s and outputs a dimerized SMAD2, whereas in the context of TGF-beta receptor II it accepts two receptors and outputs a dimerized receptor |
Encapsulation | Hiding the state and implementation of an object | The exact mechanism by which an object is created is hidden in an OOM | The details involved in the translation (GO: 0043037) of Smad 2 are hidden, but a Smad 2 molecule is still created |