File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes how to design this in OOP ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "how to design this in OOP ?" Watch "how to design this in OOP ?" New topic

how to design this in OOP ?

Edward Chen
Ranch Hand

Joined: Dec 23, 2003
Posts: 798
When browsing Amazon, it will give a special price to a combination of books, for example, Book A price is $10, Book B is $20, but Book A + Book B will cost a special discount price, say $25. In OOP design, how to achieve this ?

My thinking is , we could do

In this way, single Book will be a special case, its components is null (zero).

Or has another way to design ?

Riaan Nel
Ranch Hand

Joined: Apr 23, 2009
Posts: 160

I'd rather have something like a Combination class which contains a number of books. The combination class could then have a price which is calculated based on the price of each book within the combination.

P.S. Why are you using the Double wrapper class instead of the double primitive for your price variable? Also, just to stick to the standard way of doing things, I'd make the components and price properties of the Book class private and write getters and setters for them.

"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." - George Bernard Shaw
I agree. Here's the link:
subject: how to design this in OOP ?
It's not a secret anymore!