![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 4 Dołączył: 6.05.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
postaram się pisać zwięźle i na temat. Dotychczas projektowalem proceduralnie. Zapoznalem sie z odstawiami i filozofia OOP. Jednak jeszcze tego nie "czuje". Chcę stworzyć bazę firm przy użyciu OOP. Nie wiem czy dobrze mysle, ale obiektem bylaby firma, ktora mialaby swoja nazwe, adres,telefon itd.(własciwosci), a firme ta moznaby bylo dodawac, usuwac, edytowac i wyswietlac (metody). Sprobowalem projektowac klase, ale zauwazylem, ze wrzucam funkcje do klasy i w zasadzie proceduralnie zrobilbym to chyba szybciej... Czy mozecie podpowiedziec jako doswiadczeni w OOP, jak zabralibyscie sie do tworzenia takiej bazy firm z uzyciem OOP i czy do tego wystarczy jedna klasa czy wiecej niz jedna? Dzieki wielkie z gory za wskazowki (mam wrazenie, ze potrzebuje kilku wskazowek, a potem pojdzie z gorki). |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Zaprezentowałeś klasyczny przykład ujęcia kodu proceduralnego w klasie. Programowanie obiektowe to nie tylko klasy z kodem, ale przede wszystkim relacje pomiędzy obiektami. Obiekt firma może składać się z kilku obiektów, zwłaszcza a Twoim przykładzie, w którym wydzielasz funkcje zapisujące i odtwarzające dane z bazy.
Każda klasa powinna mieć ściśle wydzielone zadanie. Twoja tego nie ma, bo: 1. Obsługuje bazę danych 2. Wypisuje informacje dla użytkownika 3. Przechowuje informacje (o firmie) 4. Sama siebie kontroluje. Widzę tu co najmniej 3 obiekty. Również logika nieco szwankuje, bo jeśli za nią pójść, to obiekt Człowiek powinien mieć takie metody:
Krótko mówiąc - nie ma to ani rąk, ani nóg. Tu pomoże dobra książka na temat projektowania, do czego Cię zachęcam. Małe propozycje: 1. Patrz na obiekty również pod kątem ich użytkowników (kodu, który je użytkuje) 2. Metody powinny zwracać wartości do użytkownika Pozdrawiam. : ) P.S Na pocieszenie napiszę, że jedna z moich klas o nazwie News dziedziczyła po obiekcie Pager, który odpowiadał za łamanie stron wyników ![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:53 |