Wpis z mikrobloga

#java #programowanie
Cześć (na wstępie powiem, że projekt akademicki, więc może być dziwnie).

Tworzę sobie w Javie klasy dla przedmiotów w sklepie online i:
1. Mam klasę abstract Product z polami wspólnymi dla wszystkich produktóœ + getterami i setterami.
2. Chciałbym stworzyć teraz 5 różnych produktów, tak żeby każdy był w innej klasie. Tworzę np. Klasę "Biurko" która rozszerza klasę Product i ma swój konstruktor.
Wreszcie pytanie:
Czy jest sposób żeby tak skonstruowany kod rozszerzać "automatycznie" o 200 kolejnych produktów? Pisanie ręcznie każdej klasy chyba nie ma sensu. Może konstrukcja klasa abstrakcyjna -> klasa produktu jest bez sensu?

Jak Wy byście się do tego zabrali na poziomie meta?
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

1. w dobrym OOP dziedziczenia lepiej unikać nawet jeśli się wydaje, że pasuje go użyć
2. jeśli klasy nie różnią się zachowaniem (ang. behaviour) to znaczy, że wystarczy pojedyncza klasa
3. relacyjny model struktury danych, a obiektowy model logiki aplikacji to nie jest to samo i próby przełożenia 1:1 jednego na drugi to błąd
4. gettery i settery do wszystkich pól klasy to nawet nie jest porządny OOP, a raczej antypattern.
  • Odpowiedz