![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 59 Pomógł: 0 Dołączył: 1.10.2006 Skąd: Bydgoszcz Ostrzeżenie: (10%) ![]() ![]() |
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:
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. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja zgodzę się z Cysiaczkiem - najlepiej w takich przypadkach zazwyczaj użyć Interfejsu - wtedy możesz w razie konieczności sprawdzać czy dany obiekt implementuje dany interfejs (np. gdy gdzieś w innym miejscu aplikacji będzie metoda mogąca brać dowolne obiekty, które implementują te metody).
Z Twojego opisu sytuacji wnioskuje jednak, że poza takimi samymi nazwami metod nie idzie za nimi większa abstrakcja, więc pytanie czy w ogóle jest sens tutaj wprowadzać jakiekolwiek zależności. Pamiętaj, że dziedziczenie nie powstało po to aby "zaoszczędzić pisania", a żeby pozwalać na różne poziomy abstrakcji i ułatwiać pisanie/rozbudowywanie kodu. Dziedziczenie na siłę klas, które nie są logicznie powiązane powoduje zazwyczaj tylko bałagan w kodzie i problemy z jego utrzymaniem. //edit No może tutaj można zrobić specjalny obiekt, który będzie operował na bazie i będzie pozwalał na dodawanie / usuwanie /modyfikowanie/odczytywanie poszczególnych danych - coś jak Active Record Pattern Ten post edytował athabus 4.01.2007, 17:32:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:16 |