Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pierwsza Klasa
Grafnastyk
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 25.08.2017

Ostrzeżenie: (0%)
-----


Witam, czy mógłby mi ktoś wyjaśnić dlaczego moja funkcja use_monster zwraca tylko pierwszą zmienną? Domyślam się, że błąd jest banalny, ale nigdzie nie mogę znaleźć rozwiązania a błędu nie wyrzuca mi żadnego.

  1. <?php
  2.  
  3. class Monster
  4. {
  5. public
  6. $name,
  7. $hp,
  8. $def,
  9. $atk;
  10.  
  11. public function Create_monster($m_name, $m_hp, $m_def, $m_atk)
  12. {
  13. $this->name = $m_name;
  14. $this->hp = $m_hp;
  15. $this->def = $m_def;
  16. $this->atk = $m_atk;
  17.  
  18. }
  19.  
  20. public function use_monster()
  21. {
  22. return $this->name;
  23. return $this->hp;
  24. return $this->def;
  25. return $this->atk;
  26.  
  27.  
  28. }
  29.  
  30. }
  31.  
  32. $monster1 = new Monster;
  33.  
  34. $monster1->Create_monster('Troll',100,100,100);
  35.  
  36. echo $monster1->use_monster();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
leonpro778
post
Post #2





Grupa: Zarejestrowani
Postów: 146
Pomógł: 19
Dołączył: 1.03.2012

Ostrzeżenie: (0%)
-----


Nazewnictwo to aż nie taki wielki problem (chociaż też są przyjęte pewne standardy). Zacznij lepiej od zapamiętywania pewnych przyjętych "nawyków" przy programowaniu obiektowym.

1. Do każdego pola powinna być przypisana metoda GET i SET.
2. Pola metody powinny być prywatne a dostęp do nich (poprzez metody GET i SET) niech będzie publiczne.
3.Metodę Create_monster wrzuć w konstruktor.
4. Odnośnie nazewnictwa:
Nazwy pól, czyli hp, att nazywamy z _ na początku. Czyli $this->_mp
Nazwy metod, czyli przykładowo jakis GET. Pierwsza litera jest mała, czyli getHp()
Nazwa obiektu z dużej litery, czyli tak jak masz u siebie class Monster

I tyle jak na początek :-)

Odnośnie problemu - dostęp do tych danych, pobieraj wtedy kiedy ich potrzebujesz. I niestety nie możesz zrobić tego cztery razy pisząc return :-)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 23:29