Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zidentyfikowaniem klas
patryczakowy
post 30.09.2009, 09:19:21
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


Mam mały problem ze zidentyfikowaniem poprawnie klas chodzi mi o to jakie klasy utworzyć mój pomysł jest taki.
Klasa kategoria
Klasa Strona
Klasa Oferta
Klasa Strona i oferta będzie się składać (zawierać w sobie) klasę kategorię tak zwana agregacja
Klasa kategoria chyba oczywiste że jest to klasa reprezentująca drzewo dostępnych kategorii w systemie
Klasa Strona przedstawiająca podstrony serwisu
Klasa Oferta przedstawiająca oferty produktów
Czy taki podział jest prawidłowy ?
I jak w PHP realizuje się agregację?

Z góry wielkie dzięki za sugestie.


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mike
post 30.09.2009, 09:31:48
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(patryczakowy @ 30.09.2009, 10:19:21 ) *
I jak w PHP realizuje się agregację?
Tak samo jak w każdym innym języku.
Agregacja to zawieranie.
Go to the top of the page
+Quote Post
patryczakowy
post 30.09.2009, 09:33:35
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


jest jakiś specjalny znacznik np taki jak dla dziedziczenia czy na przykład w konstruktorze tworzy się obiekt innej klasy?
I jak z podziałem na klasy jest poprawny? Może takie problemy realizujecie w inny sposób ?


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
LBO
post 30.09.2009, 09:34:33
Post #4





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Cytat
jest jakiś specjalny znacznik np taki jak dla dziedziczenia czy na przykład w konstruktorze tworzy się obiekt innej klasy?


To jest bardzo proste i rozwiązuje się to jak w każdym innym języku.

  1. class B {}
  2.  
  3. class A
  4. {
  5. /**
  6.   * @var B
  7.   */
  8. protected $b;
  9.  
  10. /**
  11.   * @return A
  12.   */
  13. public function setB(B $b)
  14. {
  15. $this->b = $b;
  16. return $this; // fluent interface
  17. }
  18.  
  19. /**
  20.   * @return B
  21.   * @throws Exception
  22.   */
  23. public function getB()
  24. {
  25. if($this->hasB()) {
  26. return $this->b;
  27. }
  28. throw new Exception('message'); // in case B is not present
  29. }
  30.  
  31. /**
  32.   * @return boolean
  33.   */
  34. public function hasB()
  35. {
  36. return isset($this->b);
  37. }
  38. }


Mógłbyś również użyć konstruktora, aby wtłoczyć obiekt B do A... settery sa jednak wygodniejsze i tak polem to robić.

Ten post edytował LBO 30.09.2009, 09:37:03
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 21:53