Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Proszę o wyjaśnienie klasy
Forum PHP.pl > Forum > Przedszkole
Musashi
Witam. Jestem całkowitym phpowym n00bem. Zacząłem przerabiać kurs php Leona i natknąłem się na klasy. Już pierwszego przykładu częściowo nie rozumiem.

  1. <?
  2.  
  3. // Poczatek definicji klasy Koszyk - definiujacej koszyk sklepowy
  4. class Koszyk
  5. {
  6. // Definicja zmiennej - tablicy asocjacyjnej zawierajacej nr artykulow i ich ilosc
  7. var $artykuly;
  8.  
  9. // Funkcja dodajaca podana ilosc artykulow do koszyka
  10. function dodaj ($numer, $ilosc) {
  11. $this->artykuly["$numer"] += $ilosc;
  12. }
  13. // Funkcja usuwajaca podana ilosc artykulow z koszyka
  14. function usun ($numer, $ilosc) {
  15. if ($this->artykuly["$numer"] > $ilosc)
  16.  $this->artykuly["$numer"] -= $ilosc;
  17. else
  18.  $this->artykuly["$numer"]= 0;
  19. }
  20. // Funkcja wyswietlajaca zawartosc koszyka
  21. function wyswietl () {
  22. while (list($k, $v) = each($this->artykuly))
  23. if ($v>0)
  24. echo "Artykul nr $k - $v sztuk<br>";
  25. }
  26. }
  27.  
  28. // Wykorzystanie klasy
  29. $koszyk = new Koszyk;
  30. $koszyk->dodaj('20', 2);
  31. $koszyk->dodaj('12', 4);
  32. $koszyk->dodaj('20', 5);
  33. $koszyk->usun('12', 4);
  34. $koszyk->wyswietl();
  35.  
  36. ?>


Proszę mi to łopatologicznie wyjaśnić. Chodzi mi zwłaszcza o użycie $this-> oraz mechanizm dodawania i odejmowania artykułów. Wykorzystanie klasy rozumiem.

Pozdrawiam
jjerry
ja chcialbym sie przylaczyc do posta kolegi. klasy sa trudne wiec przydalby sie krotki kurs samych klas.
My4tic
Może to sie Wam przyda:

Programowanie obiektowe

Poza tym:

Programowanie obiektowe - Wikipedia

Programowanie obiektowe we wszystkich językach wygląda podobnie więc jeśli nie możesz znaleźć zadowalających informacji dla języka php poszukaj dla C/C++. Analogii jest bardzo wiele.
revyag
Na początek proponuję zajrzeć do manuala:
http://pl2.php.net/manual/pl/language.oop.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.