View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Do you call this as "object related design"?

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

6 replies to this topic

### #1asperatology  Members

Posted 10 July 2013 - 05:17 AM

I'm going to use Java as an example. Any text in between quotation marks can be taken with a grain of salt, because I'm not sure what verb fits in those quotation marks.

There are three objects: House, Resident, and Car.

These three objects are not object-oriented in anyway possible. However, they are "related" when placed together like this:

That just makes them related by package name. Going further, we can make them a bit more "related" to one another like this:

Ignoring the methods above, and just looking at the variables, we can see that a House object have 3 Residents, and 2 cars. And since the Car object needs a Resident as its owner, it implies Resident have Car within their scopes.

Thus we can get:

House > Resident > Car

I was looking around on Google the other day, searching around forums and stuffs, and was wondering what this "relation" is called. Some call it the "top down approach", while others disagree with it, and said it has nothing to do with designing a program.

What is it really called? And how do you use it (best practices)?

### #2NightCreature83  Members

Posted 10 July 2013 - 05:48 AM

This is called a HAS-A relationship and is different from IS-A, IS-A implies inheritance where as HAS-A implies ownership. Aggregation is the other name for this relationship under which you can also find information.

HAS-A is usually more important then IS-A. see this example

class Leg
{
}

class Chair
{
Leg m_legs[4];
}


In the case of Chair you wouldn't inherit from Leg but it is clear that it has 4 legs in this case, Chair owns it's legs and as such has legs. And that is exactly where the name HAS-A relationship comes from, and UML expresses this with a line that ends in a diamond with a number or star above it.

http://en.wikipedia.org/wiki/Has-a

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max

### #3asperatology  Members

Posted 10 July 2013 - 07:42 AM

### #4rip-off  Moderators

Posted 10 July 2013 - 08:02 AM

In future, please paste code into the forums using the editor features. You get a neat, syntax highlighted and scrollable box:

public class Example {

private int whatever;

public Example(int whatever) {
this.whatever = whatever;
}

public int frobnicate(int foo, int bar) {
return foo + (bar * whatever);
}

// Etc...
}


You can also manually use tags around the code if you find the WSYISYG editor a bit annoying.

Images are bad for code, they aren't searchable, we cannot paste it into our local editors, might be difficult to read on a mobile device, etc.

### #5NightCreature83  Members

Posted 10 July 2013 - 08:25 AM

In future, please paste code into the forums using the editor features. You get a neat, syntax highlighted and scrollable box:

public class Example {

private int whatever;

public Example(int whatever) {
this.whatever = whatever;
}

public int frobnicate(int foo, int bar) {
return foo + (bar * whatever);
}

// Etc...
}


You can also manually use tags around the code if you find the WSYISYG editor a bit annoying.

Images are bad for code, they aren't searchable, we cannot paste it into our local editors, might be difficult to read on a mobile device, etc.

I actually found that the WYSIWYG editor doesn't always load so on slower connections your are stuck with the [ code ] [ /code ] tags.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max

### #6rip-off  Moderators

Posted 10 July 2013 - 09:26 AM

If it isn't already a known issue, might be worth highlighting that in the GDNet suggestions forum. Personally, I like using the markup directly, my experience with the WYSIWYG editor is often one of frustration.

### #7asperatology  Members

Posted 10 July 2013 - 09:55 AM

Okay.

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.