Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php 5.1] Pisać osobne klasy czy dziedziczenie?
szczurek
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 1.10.2006
Skąd: Bydgoszcz

Ostrzeżenie: (10%)
X----


Witam,

Mam pytanie. Na stronie będę musiał zarządzać takimi częściami jak Uzytkownik, Autor, Utwor, Komentarz, News

No i dla każdego zamierzam napisać klasę z metodami tylko, że poza innimi metodami wszystkie zawierają wspólne:
  • doaj
  • pobierz
  • aktualizuj
  • usun

Jeszcze sprawdz dane, ale to będzie na pewno metoda prywatna.

Zastanawiam się czy mam kombinować z napisaniem jakiejś klasy zawierającej te 4 metody i później klasy uzytkownik, autor itd. Mają dziedziczyć z tej klasy modyfikując właściwie pola które dodają czy pobierają czy każda klasa ma zawierać pisane od początku metody i tylko mają implementować interface który zawiera abstrakcyjne metody dodaj, pobierz, aktualizuj i usun.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szczurek
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 1.10.2006
Skąd: Bydgoszcz

Ostrzeżenie: (10%)
X----


Dzięki wielkie za odpowiedzi, zdecydowałem się na użycie interface'u.

Tylko oczywiście "znowu w życiu mi nie wyszło.

Jak już ktoś zauważył metody różnych klas będą miały różne pola w bazie, no więc i różne parametry(mógłbym przyjmować tablice jako jeden parametr, ale nie widzę w tym większego sensu).

Napisałem więc interface

  1. <?php
  2. interface nazwa{
  3. function Dodaj();
  4.  
  5. (Pozosta&#322;e metody tak samo)
  6. }
  7. ?>


W klasie jest np.

  1. <?php
  2. class Uzytkownik implements nazwa{
  3. public function Dodaj($param, $param2)
  4. return true;
  5. }
  6. ?>


No i niestety wywala mi kominukat że deklaracja musi być zgodna z interface'm

Jeśli w interface będzie

  1. <?php
  2. interface nazwa{
  3. public function Dodaj($param1, param2);
  4. }
  5. ?>


To oczywiście nie ma problemu. Ale ja nie mogę jasno orkęslić jakie to będą paramerty(chyba, że jak pisałem tablica).


Mógłbym napisać abstrakcyjną klasę, no ale jak mówiłem zdecydowałem się na interface, po waszych wypowiedziach doszedłem do wniosku, że w moim przypadku to będzie lepsze.

Ten post edytował szczurek 8.01.2007, 10:39:47
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 00:46