Download presentation
Presentation is loading. Please wait.
Published byPriscilla Wilcox Modified over 9 years ago
1
Chapter 9 - Implementing Association Relationships1 Chapter 9 Implementing Association Relationships
2
Chapter 9 - Implementing Association Relationships2 Chapter 9 Topics Review of Bradshaw Marina’s class diagram Implementing association relationships with one-to-one multiplicity between Java classes Navigating from one instance to another when there is a one-to-one relationship Using the Vector class to create association relationships with one-to-many multiplicity between Java classes Navigating one-to-many association relationships using methods of the Vector class Creating and using an association class with Java
3
Chapter 9 - Implementing Association Relationships3 Reviewing Bradshaw Marina’s Class Diagram See Figure 9-1 Association relationships –Depict how instances of the classes are associated or connected to one another –Shown on the class diagram as lines connecting classes –Indicate that the system requires information about these associations
4
Chapter 9 - Implementing Association Relationships4 Reviewing Bradshaw Marina’s Class Diagram Association relationships –Can be shown as: Aggregation relationships –Strong association where one instance “contains” the other »E.g., town contains shopping centers or stores Composition relationships –Strong association where one is composed of, or “part of” another »E.g., walls that are part of a building
5
Chapter 9 - Implementing Association Relationships5 Associating Customer with Boat: One- to-One Association Relationship Each direction of the association relationship must be defined in Java –Mandatory / optional –Multiplicity To implement in Java: –Use a reference variable of one class as an attribute of another class
6
Chapter 9 - Implementing Association Relationships6
7
7 Associating Customer with Boat: One- to-One Association Relationship Modifying the Customer Class –To implement a one-to-one association with the Boat class: Add an attribute to Customer that holds a reference to a Boat instance (Figure 9-3) –TesterOneA (Figure 9-4) Tests one direction of association relationship –A Customer owns a Boat –Sequence diagram Illustrates the interaction in TesterOneA
8
Chapter 9 - Implementing Association Relationships8
9
9 Associating Customer with Boat: One- to-One Association Relationship Modifying the Boat Class –To implement a one-to-one association with the Customer class: (Figure 9-7) Add an attribute to Boat that holds a reference to a Customer instance Add accessor methods to establish the association relationship in both directions –TesterOneB (Figure 9-8) Tests both directions of association relationship –A Customer owns a Boat –A Boat is owned by a Customer
10
Chapter 9 - Implementing Association Relationships10 Adding Capability to the Boat Class Techniques to increase functionality –Make relationship mandatory rather than optional (pp. 291) E.g., when Boat is instantiated, it could require that a Customer be specified –Thus, only Boats owned by Customers of the business would be accepted into the system –Modify the Boat’s tellAboutSelf method (pp. 292) Return information about both Boat and Customer
11
Chapter 9 - Implementing Association Relationships11
12
Chapter 9 - Implementing Association Relationships12
13
Chapter 9 - Implementing Association Relationships13
14
Chapter 9 - Implementing Association Relationships14
15
Chapter 9 - Implementing Association Relationships15 Associating Dock and Slip: A One-to- Many Association Relationship Dock / Slip Relationships –Slip and Dock relationship A slip is attached to a dock One-to-One relationship –Similar to Customer and Boat relationship –Dock and Slip relationship A dock contains many slips One-to-Many relationship –Requires different approach
16
Chapter 9 - Implementing Association Relationships16 Associating Dock and Slip: A One-to- Many Association Relationship Introducing the Dock Class –Contains: A Vector attribute –Implements the one-to-many relationship A method that returns the Vector attribute reference
17
Chapter 9 - Implementing Association Relationships17
18
Chapter 9 - Implementing Association Relationships18
19
Chapter 9 - Implementing Association Relationships19 Associating Dock and Slip: A One-to- Many Association Relationship Associating the Slip Class With Dock (Figure 9-15) –Modified much like Boat class to implement a mandatory one-to-one association relationship Associates slip with dock –Further modified to also set up a relationship with a Boat Associates slip with boat
20
Chapter 9 - Implementing Association Relationships20 Associating Dock and Slip: A One-to- Many Association Relationship Testing the ‘Dock Contains Slips’ Association Relationship –TesterThreeA (Figure 9-16) Tests both directions of association relationship –One-to-Many »A Dock has multiple Slips –One-to-one »A Slip resides in a Dock
21
Chapter 9 - Implementing Association Relationships21
22
Chapter 9 - Implementing Association Relationships22
23
Chapter 9 - Implementing Association Relationships23 Associating Dock and Slip: A One-to- Many Association Relationship Adding the Boat and Customer Classes to the Example –To complete example (Figure 9-18): Modify Boat to associate with a Slip Add Customer class –TesterThreeB (Figure 9-19) Provides a comprehensive test of associations –Sequence diagram (Figure 9-20) Illustrates the interaction in TesterThreeB
24
Chapter 9 - Implementing Association Relationships24
25
Chapter 9 - Implementing Association Relationships25
26
Chapter 9 - Implementing Association Relationships26 Creating and Using an Association Class - Lease Association class –Lease is an association between a customer and a slip, but with additional attributes to characterize the lease agreement –To implement (Figure 9-23): Lease modified to include Slip and Customer reference attributes Slip modified to include a Lease reference attribute –Class diagram (Figure 9-22) Shows relationships between classes –TesterFour (Figure 9-26) Provides a comprehensive test of overall Lease associations –Sequence diagram Illustrates the interaction in TesterFour
27
Chapter 9 - Implementing Association Relationships27
28
Chapter 9 - Implementing Association Relationships28
29
Chapter 9 - Implementing Association Relationships29
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.