Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem natury logicznej z modelami
Forum PHP.pl > Forum > PHP > Object-oriented programming
Ormin
Witajcie : p potrzeba mi Waszej pomocy!

A wiec - posiadam klase bazowa - ORM File dla tabeli files.

I chcialbym rozszerzac ja na zasadzie - Rapidshare_File, Megaupload_File.

Niestety, sa miejsca, gdzie potrzebuje sie do plikow odniesc ogolnie, wiec nie moge z niej zrobic klasy abstrakcyjnej. Wtedy z kolei nie moge stworzyc metod abstrakcyjnych do implementacji.

Co sugerujecie? Moze interfejs?

Pozdrawiam!
mike
Cytat(Ormin @ 15.03.2010, 23:40:44 ) *
Niestety, sa miejsca, gdzie potrzebuje sie do plikow odniesc ogolnie, wiec nie moge z niej zrobic klasy abstrakcyjnej. Wtedy z kolei nie moge stworzyc metod abstrakcyjnych do implementacji.
Żeby rozszerzać klasę nie musi ona być abstrakcyjna. Co stoi na przeszkodzie żeby zrobić tak:
  1. <?php
  2.  
  3. class File {}
  4. class Rapidshare_File extends File {}
  5. class Megaupload_File extends File {}
  6.  
  7. ?>
?
phpion
Cytat(Ormin @ 15.03.2010, 23:40:44 ) *
Niestety, sa miejsca, gdzie potrzebuje sie do plikow odniesc ogolnie, wiec nie moge z niej zrobic klasy abstrakcyjnej. Wtedy z kolei nie moge stworzyc metod abstrakcyjnych do implementacji.

Klasa abstrakcyjna może zawierać metody posiadające ciało, nie musi składać się tylko z metod abstrakcyjnych:
  1. abstract class Abstrakcyjna {
  2. public function rob_cos() {
  3. // robi cos
  4. }
  5.  
  6. abstract public function dorob_cos();
  7. }
  8.  
  9. class Klasa extends Abstrakcyjna {
  10. public function dorob_cos() {
  11. // dorabia cos
  12. }
  13. }
Ormin
Skorzystalem z wzorca fabryki i śmiga. Dzięki wszystkim za starania : P
Do zamknięcia.
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-2024 Invision Power Services, Inc.