Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem natury logicznej z modelami
Ormin
post 15.03.2010, 23:40:44
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 3.02.2009

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


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!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mike
post 16.03.2010, 08:24:31
Post #2





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

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


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. ?>
?
Go to the top of the page
+Quote Post
phpion
post 16.03.2010, 08:38:29
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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. }
Go to the top of the page
+Quote Post
Ormin
post 17.03.2010, 20:06:15
Post #4





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 3.02.2009

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


Skorzystalem z wzorca fabryki i śmiga. Dzięki wszystkim za starania : P
Do zamknięcia.
Powód edycji: [Cysiaczek]: nie bądź samolubny :-(
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: 19.07.2025 - 21:19