login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OOP Opstellen en weergeven

Offline delta_004 - 23/07/2006 12:03 (laatste wijziging 23/07/2006 12:05)
Avatar van delta_004Onbekend Hallo
Dit is mijn script:
  1. <?
  2. class Rekenmachiene {
  3. var $getal1;
  4. var $getal2;
  5.  
  6. function Optellen($getal1, $getal) {
  7. $this->uitkomst = ($getal1 + $getal2);
  8. return $this->uitkomst;
  9. }
  10. }
  11.  
  12. $i = new Rekenmachiene();
  13. $i->Optellen(1,2);
  14. echo $i;
  15. ?>

Ik wil dus dat 1 en 2 opgeteld word, maar waarom geeft dit object?


Groetjes

7 antwoorden

Gesponsorde links
Offline Tuinstoel - 23/07/2006 12:05
Avatar van Tuinstoel PHP expert LoL, je roept alles verkeerd aan. $i bestaat feitelijk niet als gewone variabele, het is een class. $getal = $i->Optellen(1,2);. Je bent trouwens ook vergeten om var uitkomst te defineren, je doet wel mooi $this->uitkomst = ... maar dat is beetje overbodig, je kunt ook gewoon direct return gebruiken.
Offline delta_004 - 23/07/2006 12:08 (laatste wijziging 23/07/2006 12:17)
Avatar van delta_004 Onbekend Dus waarscheinlijk is de class verder goed maar het gedeelte er onder is incorrect? MM dan ben ik ff kijken hoe ik het anders moet doen want kheb geen idee:D

Thnkx kheb et ik had anders ook een variabel naam verkeerd geschreven

Ik hoop dat jullie wel zien wat ik bedoel maar hoe hadden jullie dit dan gedaan?? Technischer ofzo?

  1. <?
  2. class Rekenmachiene {
  3. var $getal1;
  4. var $getal2;
  5.  
  6. function Optellen($getal1, $getal2) {
  7. return $getal1." + ".$getal2." = ".($getal1 + $getal2)."<br>";
  8. }
  9. function Aftrekken($getal1, $getal2) {
  10. return $getal1." - ".$getal2." = ".($getal1 - $getal2)."<br>";
  11. }
  12. function Delen($getal1, $getal2) {
  13. return $getal1." : ".$getal2." = ".($getal1 / $getal2)."<br>";
  14. }
  15. function Vermenigvuldigen($getal1, $getal2) {
  16. return ($getal1." x ".$getal2." = ".$getal1 * $getal2)."<br>";
  17. }
  18. }
  19.  
  20. $i = new Rekenmachiene();
  21. echo $i->Optellen(1,2);
  22. echo $i->Aftrekken(1,2);
  23. echo $i->Delen(4,2);
  24. echo $i->Vermenigvuldigen(10,20);
  25. ?>
Offline Voldemort - 23/07/2006 12:37 (laatste wijziging 23/07/2006 12:38)
Avatar van Voldemort PHP ver gevorderde
  1. var $getal1;
  2. var $getal2;


Kan je weglaten aangezien je ze toch nooit gebruikt.

En

  1. return ($getal1." x ".$getal2." = ".$getal1 * $getal2)."<br>";


==>

  1. return $getal1." x ".$getal2." = ".($getal1 * $getal2)."<br>";



Voor de rest vind ik het er goed uitzien.

(Moet dit topic niet in de OO categorie?)
Offline Ibrahim - 23/07/2006 13:57
Avatar van Ibrahim PHP expert eeh nee, want dit is 100% geen OOP 

mensen denken meteen, ik maak classes dus is het ineens OOP
Offline delta_004 - 23/07/2006 19:01
Avatar van delta_004 Onbekend Lol is er een oop cat?:o
Offline Tuinstoel - 23/07/2006 19:11
Avatar van Tuinstoel PHP expert Ja, object orientated, maar dat is dit inderdaad niet.
Offline Ibrahim - 24/07/2006 13:20
Avatar van Ibrahim PHP expert dit is een klein (en nutteloos) manier van het bereiken van OOP in PHP. Je kunt OOP beter gebruiken bij grotere objecten als een nieuwsobject waar je classes als:
  1. - news.class.php
  2. => laatste x-aantal nieuws weergeven
  3. => sorteren
  4. => zoeken
  5. => niews weergeven, met het ID in de url
  6. - comment.class.php
  7. => toevoegen van comment
  8. => verwijderen van comment
  9. => wijzigen van comment
  10. - manage.class.php
  11. => toevoegen van niews
  12. => keuren van nieuws
  13. => wijzigen van niews
  14. => verwijderen van nieuws


dit is dan wat meer OOP

  1. <?php
  2. class Rekenmachine
  3. {
  4. public $iGetal1;
  5. public $iGetal2;
  6. public $iResult;
  7.  
  8. public function __construct($getal1, $getal2)
  9. {
  10. $this->iGetal1 = $getal1;
  11. $this->iGetal2 = $getal2;
  12. }
  13. }
  14.  
  15. class optellen extends Rekenmachine
  16. {
  17. public function erbijZetten()
  18. {
  19. $this->iResult = $this->iGetal1 + $this->iGetal2;
  20.  
  21. return $this->iResult;
  22. }
  23. }
  24.  
  25. class aftrekken extends Rekenmachine
  26. {
  27. public function afHalen()
  28. {
  29. $this->iResult = $this->iGetal1 - $this->iGetal2;
  30.  
  31. return $this->iResult;
  32. }
  33. }
  34.  
  35. $optellen = new optellen(12,2);
  36. echo $optellen->erbijZetten();
  37.  
  38. $afhalen = new aftrekken(12,2);
  39. echo $afhalen->afHalen();
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.259s