Multidesk.be » Forums » Java » help bij Java opdrachten

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door johan070 op vrijdag 30 januari 2009 om 16:15:08.
johan070 heeft nog geen avatar toegevoegd
Multiviteit: 2
kan iemand mij helpen bij de volgende opdrachten voor school. ik moet een opdracht maken en ik begrijp er weinig van.

1. Elke vorm van speelgoed heeft een prijs. Het is daarom handig om je klassen zodanig te ontwerpen dat prijs één keer wordt gedefinieerd. Eventuele wijzigingen (prijs niet meer weergeven met cijfers achter de komma, maar alleen in hele bedragen bijvoorbeeld) hoeven dan ook maar op één plek te worden doorgevoerd.

2. In de zak van Sinterklaas kunnen allerlei soorten speelgoed zitten. De zak zelf weet echter niet wat voor soort speelgoed het is. Voeg een methode toe aan de klasse Sinterklaas die berekent hoe duur al het speelgoed is dat één bepaald kind krijgt. Let op: de klasse zak moet onafhankelijk zijn van Auto en Pop.


ik zou jullie eeuwig dankbaar zijn als jullie mij hiermee zouden kunnen helpen_O__O_

Opmerking van de crew

Even je titel lichtjes gewijzigd voor de overzichtelijkheid ;)
SMG
^ Reactie #1 geschreven door thekid op vrijdag 30 januari 2009 om 16:18:18.
thekid's avatar
Multiviteit: 5273
Moderator
dat is niet echt moeilijk, hé...

je maakt 1 superklasse nl, speelgoed. dan heb je de klasse auto en de klasse pop die extenden van de klasse speelgoed, en dan heb je nog een apparte klasse zak, die een array van de klasse speelgoed bevat.

De sinterklaas klasse heeft dan een klasse zak met daarin het speelgoed, dat evt een auto of een pop kan zijn

voor de rest ontbreekt een volledigere vorm van opgave dus is het afwerken niet mogelijk, maar echt moeilijk kan deze toch niet zijn ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door Cdude op vrijdag 30 januari 2009 om 17:01:18.
Cdude's avatar
Multiviteit: 5427
Eat my shorts :)

Randinformatie

maar echt moeilijk kan deze toch niet zijn...
Hangt er beetje vanaf wat je tot nu toe in de klas deed :P:P
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
"Friendship is like peeing in your pants : everybody can see it but only u can feel it's warmth"
^ Reactie #3 geschreven door een gast op zaterdag 31 januari 2009 om 13:12:36.
mijn probleem was ook dat het niet volledig was en niet kon afmaken. maar als iemand nog een voorbeeld van code kan geven graag.
^ Reactie #4 geschreven door NightCreature op zaterdag 31 januari 2009 om 16:38:52.
NightCreature's avatar
Multiviteit: 1196
MSc.
Ik vind het altijd idioot om dingen aan de hand van wereld voorbeelden te leren aangezien de voorbeelden nooit overeen komen met de werklijke wereld maar dit terzijde.

CODE
  1.  
  2. class IToy
  3. {
  4. public:
  5.     IToy(const float price) : m_price(price) {}
  6.     ~IToy() {}
  7.  
  8.     const int getPrice() const { return m_price; }
  9.     void setPrice(const float price) { m_price = price; }
  10. protected:
  11. private:
  12.     float m_price;
  13. };
  14.  
  15. class Car : public IToy
  16. {
  17. public:
  18.     Car(const float price) : IToy(price) {}
  19.     ~Car {}
  20. protected:
  21. private:
  22. };
  23.  
  24. class Doll : public IToy
  25. {
  26. public:
  27.         Doll(const float price) : IToy(price) {}
  28.         ~Doll {}
  29. protected:
  30. private:
  31. }
  32.  
  33. class Bag
  34. {
  35. public:
  36.     Bag() {}
  37.     ~Bag() {}
  38.  
  39.     void addToy(const IToy* toy) { m_toys.push_back(toy) }
  40.     const IToy* getToy(const int index) const
  41.    {
  42.         if (index < m_toys.size())
  43.          {
  44.             return m_toys[index];
  45.          }
  46.          else
  47.             return 0;
  48.     }
  49.    
  50.     void calculateTotalPrice();
  51.     const float getTotalPrice() { return m_price; }
  52. protected:
  53. private:
  54.     std::vector<IToy*> m_toys;
  55.     float m_price;
  56. };
  57.  
  58. void Bag::calculateTotalPrice()
  59. {
  60.    for (int i = 0; i < m_toys.size(); ++i)
  61.    {
  62.        m_price += m_toys[i]->getPrice();
  63.    }
  64. }
  65. class Santa
  66. {
  67. public:
  68.     Santa() {}
  69.     ~Santa() {}
  70.        
  71.         void addChildBag(const Bag& bag) { m_children.push_back(bag); }
  72.         const float getTotalPriceChildBag(const int child);
  73. protected:
  74. private:
  75.     std::vector<Bag> m_children;
  76. };
  77.  
  78. const float Santa::getTotalPriceChildBag(const int child)
  79. {
  80.         if (child > m_children.size())
  81.                 return 0.0f;
  82.         else
  83.         {
  84.                 m_children[child].calculateTotalPrice();
  85.                 return m_children[child].getTotalPrice();
  86.         }
  87. }
  88.  


Deze code is in C++, ik haar Java en daardoor ken ik de volledige syntax niet, daarnaast je moet er ook iets van leren en dat is in dit geval het porten. Ik heb in deze code gebruik gemaakt van STL dit zijn de std::vector<Type> regels die je ziet. Een vector is implementatie van een array alleen kun je er bepaalde dingen aan vragen.
"*" is een pointer en is hoe C++ polymorfisme ondersteunt, "->" is hetzelfde als een "." in Java en C# alleen kun je bij een pointer "." niet gebruiken. Met "&" wordt pass by reference bedoelt.
Deze tekst werd het laatst bewerkt voor 2.16 % door NightCreature op zaterdag 31 januari 2009 om 17:09:35.
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen