![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Cześć, zmagam się z pewnym zadaniem, ze z góry narzuconymi regułami. W skrócie to mały, prosty sklepik internetowy, który w całości ma powstać obiektowo. Programowanie proceduralne dozwolone jest tylko do zainicjowania klas. I jedno z wymagań mówi aby unikać konstrukcji warunkowych (if-else oraz switch) do radzenia sobie z różnicami w produktach. Jako że obiektowo programować dopiero się uczę, to nie wiem czy jest może jakieś oczywiste rozwiązanie pozwalające na nieużywanie warunków.
Załózmy, że mam w bazie tabelę PRODUKT z takimi kolumnami oraz danymi: Kod ID | name | typ| MB | ilosc_stron | szerokosc | wysokosc | glebokosc 1 | tetris | dvd | 128 | 0 | 0 | 0 | 0 2 | bilbia | ksiazka | 0 | 1256 | 0 | 0 | 0 3 | stol | mebel | 0 | 0 | 90 | 200 | 60 Jak wdać mam 3 typy produktów (DVD, ksiazka, mebel) i w zależności od tego jaki to typ to odpowiednie kolumny są wypełnione - MB dla dvd, ilosc_stron dla ksiazki i wymiary dla mebli. Zresztą w oddzielnym temacie pytam czy dobrze rozumuję, że tak właśnie powinna baza pod ten cel wyglądać. W każdym razie jak teraz rozróżnić inne akcje do działania na książce, dvd czy meblu kiedy nie mogę zastosować if-else czy switch ? Dzięki. Ten post edytował sadistic_son 15.12.2022, 10:36:08 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Dobra, a więc uaktualniając temat, to baza wygląda tak:
Kod products: id | name | type 1 | Krzyzacy | book 2 | Rambo | dvd 3 | Table | furniture property: id | type | propoerty 1 | book | weight 2 | dvd |size 3 | furniture | height 4 | furniture | width 5 | furniture | lenght product_propoerty: id | product_id | propoerty_id | value 1 | 1 | 1 | 0.5 (Krzyzacy | weight | 0.5 ) 2 | 2 | 2 | 650 (Rambo | size | 650 ) 3 | 3 | 3 | 60 (Table | height | 60) 4 | 3 | 4 | 90 (Table | width | 90) 5 | 3 | 5 | 180 (Table | lenght | 180) I teraz takie coś: Dobrze rozumuję nospor, biorąc pod uwagę twoje sugestie? Ten post edytował sadistic_son 9.01.2023, 13:25:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 12:38 |