Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP] Rozszerzanie klasy., Jaką strategię wybrać ?
tolomei
post
Post #1





Grupa: Zarejestrowani
Postów: 450
Pomógł: 135
Dołączył: 18.11.2010
Skąd: Wschowa

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


Witam.

Mam pytanie projektowe.
Tworzę system generujący umowy.
Posiadam w nim klasę Worker zawierającą informacje o pracowniku. Z tym, że do jednej umowy potrzebuję 10 różnych informacji o pracowniku, a do innej umowy potrzebuję jedynie 4 właściwości(takich przypadków może być więcej - do rachunku potrzebuję jedynie imię i nazwisko).
Stąd moje pytanie:
Powinienem utworzyć klasę Worker zawierającą 4 właściwości, a potem rozszerzać ją do WorkerExtended zawierającej 10 właściwości?
Może powinienem utworzyć abstrakcyjną klasę Worker oraz dwie dziedziczące po niej?

Będę bardzo wdzięczny za podpowiedź.
Dzięki.

Ten post edytował tolomei 7.06.2012, 22:52:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Orzeszekk
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

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


jesli jedna umowa wynika z drugiej (jest jej rozszerzoną wersją) to powinienes zrobic jedną z 4 ma wlasciwosciami a pozniej z niej odziedziczyc i w dziedziczacej dodac pozostale szesc.

jezeli sa to rozne umowy to raczej klase abstrakcyjną i w nia wrzucic te 4 pola.

ewentualnie niech kazda umowa posiada w sobie liste swoich pól, i tworz je poprzez factory method, zamiast robic osobną klase dla kazdej umowy.

class umowa{
private $fields;
public function addFields($field)
.....
itd

}
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: 14.10.2025 - 11:45