![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 1.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam!!
Pisze sobie własnie taki mały system do obsługi artykułów. Do systemu maja dostęp dwie kategorie użytkowników: user i admin. Do obsługi artykułów jest stworzona klasa 'articles', w ktorej mam takie metody jak: - wyświetl liste - wyswietl artykul - dodaj artykuł - zablokuj artykuł I teraz pytanie: Czy dziedziczenie (klsay 'admin' i 'user' dziedziczą z klasy 'articles') jest dobrym rozwiązaniem?? Bo w takim przypadku obiekt 'user' ma dostęp do metod, które nie są mu przeznaczone (i w rzeczywistości niewiele się różni od obiektu klasy 'admin', a w takim przypadku nie ma sensu tworzyc osobnej klasy 'user'). I żeby to obejść nalezy jeszcze raz zdefiniować metody 'dodaj artykuł' i 'zablokuj artykuł' w klasie user. Drugie co mi do głowy przyszło to przekazanie utworzonego obiektu 'articles' do obiektów klas 'user' i 'admin'', a tam będą metody odpowiedzialne za wyświetlanie/edycje artykulów w zalezności od potrzeb (beda wywoływały metody obiektu 'articles'). Czy ktoś lepiej znający ode mnie temat mógłby jakos ustosunkować się do powyższego?? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) W drugim rozwiązaniu mozna jeszcze wyprowadzic klasę 'admin' z klasy 'user' - ale nad tym się jeszcze zastanowię (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) P.S. jakby były problemy ze zrozumieniem tego co napisałem to przepraszam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Jeszcze raz zapytam.
Po grzyba atomowego dwie klasy "Admin" i "User" skoro admin to user, tylko ma inną wartość jednej właściwosci? Czemu user ma metodę DodajArtykuł? Czy jego rola.. co ma rola usera do opcji artykułu? tylko poziom dostepu. Już to kiedyś pisałem... "Nie sztuką jest pisac obiektowo. Sztuką jest obiektowo myśleć" |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 10:01 |