Justin Giboney wrote:
I am trying to wrap my head around object oriented programming, but I am having a difficult time trying to figure out how to code something like this....

A car manufacturing company makes multiple models of cars (like, Toyota: Sienna, Tundra, Camry). Each model has a low end, medium end, and high end version. Each version has a set of options it can choose from.

Here are my thoughts:
There are at least two classes here (car and option), but I don't know wether to make subclasses of each of the models. Then do I make subclasses of each of the models for low, medium, and high end?

I could create an array in each of the subclasses for each of the options available, but what if there are a hundred options?

What if an option provides more options (like, if you get leather seats, then you can get them heated if you like)?


I would create these classes:
Car
Option
Configuration

and i would probably not create subclasses for each model (inheritance is one of many ways to be achieve reuse, and it is usually overused... look up composition and association)
The car object would probably have methods like:

$car->getLowEndConfiguration(); // returns a configuration object, configured with the basic options
$car->getMediumEndConfiguration();
etc.

these methods would compose a configuration object that would contain the options...

I would need more specifics to keep going.

Good luck,
Alvaro



_______________________________________________

UPHPU mailing list
[email protected]
http://uphpu.org/mailman/listinfo/uphpu
IRC: #uphpu on irc.freenode.net

Reply via email to