• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 632
  • Last Modified:

In UML/OOAD is Rectangle class subclass of Polygon or Quadrilateral

Hi
I want to know if Rectangle class is subclass of Quadrilateral or subclass of polygon.
I am sure Quadrilateral is subclass of polygon..but whats the difference between having Rectangle as subclass of polygon and having it as subclass of Quadrilateral.
Which one is the right one /better one. and why.

Thanks
arun
0
myarun
Asked:
myarun
1 Solution
 
tinchosCommented:
Hi arun

I would say that the better you model the better your software will be.

First of all, i would suggest that you try to see which are the classes you need to model for the software you're making.

Once you have all that then you may start to group them and find super classes and so on.

What I mean is the following......

I guess that all quadrilaterals (which I believe to be poligons of 4 sides) ARE poligons.
so I would say that quadrilateral should be a subclass of polygon.

Apart from that, a rectangle is a particular quadrilateral, so as rectangle ARE quadrilaterals then the rectangle class should  be a subclass of quadrilateral.

So you would have that rectangle is a subclass of quadrilateral and quadrilateral is a subclass of polygon.
(Indirectly rectangle is a subclass of polyline).
This would be a correct model.

Now.... the model I previously described, although correct, may be modelling some things that are not necessary.
Suppose that figures you will work on have 4 sides, so that there all polygons you'll use have 4 sides, so they are quadrilaterals. Then it is not necessary that you have a polyline class. Then your base class will be quadrilateral and you'll make your class hierarchy from there.

Hope this helps

Tincho
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now