Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> klasa korzstająca z innych klas
zzeus
post
Post #1





Grupa: Zarejestrowani
Postów: 441
Pomógł: 71
Dołączył: 3.09.2007
Skąd: wrocław

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


Witam,
piszę sobie klasę Calculator która podczas obliczeń będzie korzystała z innych klas, np. Article.
W zależności od tego co kalkulator będzie obliczał będą potrzebne różne instancje klasy Towar, w sumie 5 sztuk. Mój pomysł żeby to zrobić tak:
  1. class Calculator
  2. {
  3. private $_objArticle1;
  4. private $_objArticle2;
  5. private $_objArticle3;
  6. private $_objArticle4;
  7. private $_objArticle5;
  8.  
  9. ...
  10.  
  11. public function setType($_strType)
  12. {
  13. case "k":
  14. $this->_objArticle1 = new Article();
  15. $this->_objArticle2 = new Article();
  16. break;
  17. case "c":
  18. $this->_objArticle3 = new Article();
  19. $this->_objArticle4 = new Article();
  20. break;
  21. case "kc":
  22. $this->_objArticle1 = new Article();
  23. $this->_objArticle2 = new Article();
  24. $this->_objArticle3 = new Article();
  25. $this->_objArticle4 = new Article();
  26. break;
  27. }
  28. }


W dalszej części klasa będzie korzystała z odpowiednich instancji klasy Article, czy ogólnie podejście jest dobre czy inaczej należałoby się to zabrać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Hmm, a może tak?

  1. <?php
  2.  
  3. class Calc {
  4.  
  5. public function __construct() {}
  6.  
  7. }
  8.  
  9. interface iCalc {
  10. public function x();
  11. }
  12.  
  13.  
  14. class Article extends Calc implements iCalc{
  15.  
  16. // tutaj robisz z kalkualtorem co chcesz
  17.  
  18. }
  19.  
  20. class Factory {
  21.  
  22. public function __construct($type) {
  23. switch ($type) {
  24. case 'k':
  25. return new Article();
  26. break;
  27.  
  28. default:
  29. return false;
  30. break;
  31. }
  32. }
  33.  
  34. }
  35.  
  36.  
  37. ?>
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: 10.10.2025 - 02:34