Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> narzucenie metody dla klas pochodnych
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Ostatnio zaczełem pisać klase wyszukiwarki. Jest sobie klasa bazowa search. Następnie każdy moduł cms'a tworzy klase pochodną dla klasy search. No i tu jest problem. Bo chce nażucić klasą pochodnym to, aby istniała w nich metoda gdzie_szukac(). Myślałem o klase abstrakcyjnej ale to odpada poniewaz w głównym pliku index wyświetlam metody z klasy search ktora ma za zadanie wyswietlanie wszystkich pól do przeszukania (select), a w oop dopiero zaczełem ;/ Myślałem o interfajsie ale nie wiem czy to dobry pomysl.
Go to the top of the page
+Quote Post
Kas
post
Post #2





Grupa: Zarejestrowani
Postów: 425
Pomógł: 0
Dołączył: 28.05.2005
Skąd: Warszawa

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


Robisz po prostu dziedziczenie i klasom pochodnym dodajesz metodę gdzie_szukać().
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




  1. <?php
  2. interface iSearch {
  3. public function GdzieSzukac();
  4. }
  5.  
  6. class ArticleSearch implements iSearch {
  7. public fuction GdzieSzukac(){}
  8. public function get( $id ) { /* code */ }
  9. }
  10. ?>


Interfejs narzuca publiczne metody dla klasy implementującej.
Jeśli w podanym przykładzie nie będzie metody GdzieSzukac() php wypluje błąd.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Myślałem o klase abstrakcyjnej ale to odpada poniewaz w głównym pliku index wyświetlam metody z klasy search ktora ma za zadanie wyswietlanie wszystkich pól do przeszukania (select),

Czyli w glownym index uzywasz klasy podstawowej? Przeciez nie musisz -- tworzysz klase abstrakcyjna i dodatkowa pochodna dla indexu.

A zwykla klasa tez ci wystarczy -- klasy pochodne przeladuja metode search() jesli beda potrzebowaly.
Go to the top of the page
+Quote Post
Apo
post
Post #5





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


o właśnie oto Ociu mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
thx
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:50