Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]klasy i dziedziczenie - zachowanie porządku w kodzie
Larges
post
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 16
Dołączył: 13.05.2008
Skąd: Łódź

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


Witam,
rozbiłem trochę kodu na kilka klas i metod...
Doszedłem do klasy której jedna metoda powinna pobierać kod z kilku źródeł.

Z tego co się orientuję w PHP nie ma dziedziczenia od dwóch i więcej klas naraz.

Co radzicie zrobić?
"Rozrysuję" przykładową klasę

  1. class a {
  2. function a_a()
  3. {
  4. switch($_GET['jakas_zmienna)
  5. {
  6. case 'a' :
  7. include('...');
  8. break;
  9. }
  10. case 'b' :
  11. include('...');
  12. break;
  13. }
  14. }
  15. }


Czy można w metodzie klasy importować inną klasę lub funkcję? - obiektowości dopiero się uczę party.gif
Czy rozbić kod importowany za pomocą include na kilka plików? - to byłby powrót do strukturalnej koncepcji... winksmiley.jpg
Nie bardzo wiem jak się za to logicznie zabrać a chciałbym zachować w kodzie porządek na przyszłość i ku potomnym.

Później naturalnie z metody a do innych metod w klasie będę chciał przekazywać dane za pomocą atrybutów klasy.
Dzięx za podpowiedzi.

Ten post edytował Larges 12.09.2009, 17:36:08


--------------------
Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


tak na szybko jak patrzę to dobrym rozwiązaniem dla Ciebie jest implementacja wzorca projektowego strategia przy zastosowaniu tych samych metod choć inaczej załatwiających sprawę w zależności od otoczenia jakie się oprogramuje...

poczytaj o nim tutaj (są przykłady kodu - niżej masz też odnośniki do innych wzorców projektowych - może coś przyda Ci się):
Wzorce projektowe - strategia


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Ociu
post
Post #3





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Nie bardzo zrozumiałem...
Można tak:

  1. <?php
  2. class foo {
  3. public function bar($object) {
  4. $object->metoda();
  5. }
  6. }
  7. // gdzie:
  8. $foo = new foo();
  9. $foo->bar($obiekt_jakiejs_klasy);
  10. ?>

tak:
  1. <?php
  2. class foo extends obiekt{
  3. public function bar() {
  4. $this->metoda();
  5. }
  6. }
  7. ?>


oraz:
  1. <?php
  2. class foo{
  3. public function bar() {
  4. $obiekt = new obiekt();
  5. $obiekt->metoda();
  6. }
  7. }
  8. ?>

Jeśli chodzi o includowanie jakiś części skryptu, to zapomnij. Po to są obiekty, aby cały kod był obiektowo, a nie dzielić go na obiektowo-strukturalny.

http://pl.php.net/manual/pl/language.oop5.basic.php są bardzo fajne przykłady.
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 Aktualny czas: 20.08.2025 - 15:45