Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / November 2006

Tip: Looking for answers? Try searching our database.

how to implement association relationship in Java

Thread view: 
newsnet customer - 04 Nov 2006 03:42 GMT
Hi,

I want to implement as association relationship in Java. I understand the implementation for this kind of relationship is called "containment". However, I can not find the code for this on the internet. From what is explained on the internet, I believe the code would look something like this:

/*A Car 'has a' Wheel relationship*/

public class wheel{
   public wheel(){
   }
}

public class Car{
   Wheel w;

   public Car(){
       w = new Wheel();
   }
}

Is this the basic idea?
by the way, what does containment mean?

ST
   

     
       
hiwa - 04 Nov 2006 06:27 GMT
> what does containment mean?
Container Car contains Wheel.
Also you could use
Hashtable<Car,Wheel>
or
HashMap<Car,Wheel>
for representing association relationship.
JanTheKing - 04 Nov 2006 15:49 GMT
Try an UML tool called JUDE (free) wherein you can create a simple
class diagram to depict association relationship (fairly simple). Then
click on "export to Java" to create the class files. That should
clarify the concept.

Cheers,
Jan

> > what does containment mean?Container Car contains Wheel.
> Also you could use
> Hashtable<Car,Wheel>
> or
> HashMap<Car,Wheel>
> for representing association relationship.
LaieTechie - 08 Nov 2006 09:05 GMT
> Hi,
>
[quoted text clipped - 23 lines]
>
> ST

There are two types of relationships you should concern yourself with in
Java:

Has A: this indicates containment.  In you example, a Car has a Wheel.
Your container class should have a member property ("instance variable")
of that type.

Is A: this denotes inheritance.  A Car is a vehicle.  You indicate
inheritance with "extends" (for classes) or "implements" (for interfaces).

Public class Car extends Vehicle {}

You may also run into "uses" relationships, which may translate into
instance variables or local variables (variables defined within a certain
scope, like a method).

HTH,
La`ie Techie
Codedigestion - 09 Nov 2006 11:56 GMT
Peace,

I would like some help.  As far as I've understood thus far:

a "is a" b = inheritance of 'a' from super('b')
a "has a" b = 'b' is a property of class 'a'

now how can I understand the relationship of an interface to a class,
as in:

'a' implements 'b'

Thanks in advance,
God Bless,

shree

> > Hi,
> >
[quoted text clipped - 42 lines]
> HTH,
> La`ie Techie
Chris Uppal - 09 Nov 2006 13:24 GMT
> a "is a" b = inheritance of 'a' from super('b')
> a "has a" b = 'b' is a property of class 'a'
[quoted text clipped - 3 lines]
>
> 'a' implements 'b'

Unless you want to be pedantic, it's essentially the same as the 'is a' for
class/subclass relationship.  It tells you that an 'a' is acceptable wherever a
'b' has been asked for.

Still speaking a bit sloppily; the 'is-a' relationship should really be
understood as 'can-be-used-as-if-it-were-a'.  E.g: any Mammal can be used as if
it were an Animal.  Now with interfaces, what the interface does is specify
what is /needed/ in order to be used as a <something>, so everything which
implements that interface can be used as if it were a <something>.

This could all be made more precise, but it would lead into a discussion of
what wrong with (or at best misleading about) Java's class-based type system,
and I don't think that would help at all just now.

   -- chris


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.