Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   how to implement association relationship in Java (http://www.velocityreviews.com/forums/t388325-how-to-implement-association-relationship-in-java.html)

newsnet customer 11-04-2006 02:46 AM

how to implement association relationship in Java
 
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 11-04-2006 05:27 AM

Re: how to implement association relationship in Java
 
newsnet customer wrote:
> what does containment mean?

Container Car contains Wheel.
Also you could use
Hashtable<Car,Wheel>
or
HashMap<Car,Wheel>
for representing association relationship.


JanTheKing 11-04-2006 02:49 PM

Re: how to implement association relationship in Java
 
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

On Nov 4, 10:27 am, "hiwa" <HGA03...@nifty.ne.jp> wrote:
> newsnet customer wrote:
> > what does containment mean?Container Car contains Wheel.

> Also you could use
> Hashtable<Car,Wheel>
> or
> HashMap<Car,Wheel>
> for representing association relationship.



LaieTechie 11-08-2006 09:05 AM

Re: how to implement association relationship in Java
 
On Sat, 04 Nov 2006 02:46:04 +0000, newsnet customer wrote:

> 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


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 11-09-2006 11:56 AM

Re: how to implement association relationship in Java
 
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

LaieTechie wrote:
> On Sat, 04 Nov 2006 02:46:04 +0000, newsnet customer wrote:
>
> > 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

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



Chris Uppal 11-09-2006 01:24 PM

Re: how to implement association relationship in Java
 
Codedigestion wrote:

> 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'


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




All times are GMT. The time now is 02:34 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.