Chapter 4
Representing Objects and Relationships
Describes how to represent objects and relationships by creating classes, instances, subclasses, class hierarchies, subobjects, workspace hierarchies, connections, and relations.
- Introduction
- Summary of Representing Objects and Relationships
- Using Object-Oriented Techniques for Representing Objects and Relationships
- Objects and Encapsulation
- Classes and Instances
- Inheritance
- Subsystems
- Information Hiding
- Representing Classes and Instances
- Creating a Class Definition
- Displaying the G2 Class Hierarchy
- Creating Instances of a Class
- Guidelines for Creating User-Defined Classes
- Subclass Built-in Data Structures
- Subclass User-Defined Classes
- Subclass Built-in Definition Classes
- Hide Private and Non-Instantiable Classes
- Use Message as the Superior Class for Non-Iconic Classes
- Representing Subclasses and Class Hierarchies
- Creating Subclasses
- Using Multiple Inheritance
- Using Multiple Inheritance
- Linearizing the Class Hierarchy
- Effects of Multiple Inheritance
- Rules of Multiple Inheritance
- Overriding Inherited Characteristics and Behaviors
- Overriding Inherited Attributes
- Overriding Inherited Methods
- Overriding Inherited Icons
- Guidelines for Creating Class Hierarchies
- Normalize the Class Hierarchy
- Create Abstract Classes
- Use Generalization and Differentiation
- Representing Compound Objects and Workspace Hierarchies
- Creating Subobjects
- Guidelines for Creating Subobjects
- Restrict the Class of Subobjects
- Use Subobjects When an Object Contains but Does Not Define Another Object
- Do Not Embed External Variables in Subobjects
- Creating Subworkspaces
- Guidelines for Creating Subworkspaces
- Create Hierarchical Views to Hide Information
- Create Subworkspaces to Store Adjunct Information
- Use Activatable Subworkspaces to Control Which Parts of Your Application are Active
- Creating Workspace Hierarchies
- Guidelines for Creating Workspace Hierarchies
- Create Only One or Two Workspace Hierarchies
- Name as Few Workspaces as Possible
- Do Not Create a Large Number of Subworkspaces
- Identify the Top-Level Workspace
- Consider Creating a Top-Level Palette
- Representing Physical and Conceptual Relationships
- Examples of Connections
- Examples of Relations
- Using Connections to Represent Graphical Relationships
- Creating and Deleting Connections
- Defining a Connection Class
- Declaring Connection Stubs for a Class
- Creating and Deleting Connections Between Objects
- Using Relations to Represent Non-Graphical Relationships
- Creating and Deleting Relations
- Creating a Relation Definition
- Concluding and Breaking Relations Between Items
- Detecting Connection and Relation Events
- Comparison Between Connections and Relations
- Guidelines for Using Connections and Relations
- Use Connections to Create Graphical Relationships
- Use Connections to Provide Configurability
- Use Connections to Provide Information about Relationships
- Use Relations to Create Non-Graphical Relationships
- Use Relations to Control the Number of Related Items
Copyright © 1997 Gensym Corporation, Inc.