Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dziedziczenie
rahul
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 5.03.2011

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


Witam was.
Mam taki problem w rozumieniu oop.
Chcialbym aby moja klasa UserManagera ktora zarzadza obiektem user dziedziczyla inna klase.

mam cos takiego:
Klasa user_M dziedziczy po klasie CRUD
  1. $Database = new Database($hostname,$dbname,$username,$password); // klasa database zwraca polaczenie PDO;
  2. $crud = new CRUD($Database ); // laduje do konstruktora obiekt PDO
  3.  
  4. $user_M = new userManager(); // tu wywala blad constructora klasy po ktorej dziedzicze ze parametr ktory przekazuje jest pusty.

Dodatkowo dodam ze dopiero co ucze sie OOP w php i wymyslilem sobie aby moje managery dziedziczyly pewne dodatkowe funkcje z klasy nadrzednej. W tej nadrzednej klasie musze natomiast w do konstruktora przekazac obiekt polaczenia z bd ktory znika przy wywolaniu jakiejkolwiek klasy ktora dziedziczy se.

albo w ogole jeszcze inne opcje.
Rozwazam teraz 2 warianty.
Czy lepiej aby moja baza danych dziedziczyla klase crud i wtedy przekazuje instancje bazy danych do userManagera czy aby moja klasa UserManagera dziedziczyla po klasie CRUD. bardziej podoba mi sie 2 opcja ale nie wiem na ile jest dobra. Co do poprzedniego posta to przeciez instancje moge obiektu bazy danych moge wykonac w konstruktorze a potem przy dziedziczeniu go nie nadpisywac , tak ?
Kurcze ktoredy droga (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
greycoffey
post
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 29
Dołączył: 3.04.2010

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


userManager nie jest, nie rozszerza, CRUDa? Jeśli tak, dziedziczenie nie ma sensu. Zastosuj kompozycję, a nie sztucznie tworzone wytyczne (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 5.10.2025 - 19:02