GreenGo
26.08.2008, 20:29:53
Witam.
Umiem pisać w php strukturalnie ale mam problem z zrozumieniem zastosowania klas. We wszystkich kursach jest tylko opisane ich budowanie, dziedziczenie itp. ale nigdzie nie ma opisanej samej idei zastosowania. Znacie może jakieś tutoriale w których byłby np. opisany problem a następnie rozwiązany krok po kroku za pomocą programowania obiektowego ? To by mi na pewno pomogło.
Z góry dzięki za pomoc,
Pozdrawiam.
ActivePlayer
26.08.2008, 20:39:07
przeczytaj sobie tutorial zend framework, i napisz 10 aplikacji opartych na nim. bedziesz wiedzial co po co i jak. poszukaj w internecie jest taki tutorial z serii 'pierwsze kroki w zend framework'.
baszkir
26.08.2008, 21:03:58
Sam kiedyś miałem ten problem i mówiąc szczerze nie znalazłem nic co w pełni wyjaśniłoby mi idee i zalety OOP. Z perspektywy czasu mogę powiedzieć tak - 90% materiałów dotyczy nie OOP a programowania z użyciem klas, czyli tak naprawdę tworzenia swoich wygodnych typów danych z zestawem przydatnych funkcji dzialających na nich. Wprawdzie profesjonalistą nie jestem i moje zrozumienie OOP pewnie jest dosc powierzchowne, ale chyba jedyna metoda żeby zrozumieć dziedziczenie, polimorfizm i enkapsulacje danych oraz co ważniejsze dostrzec ich zalety i wygode trzeba samodzielnie napisac kilka GUI w Javie czy Pythonie . Bez tego klasyczne tlumaczenie "mamy abstrakcyjną klase Figura a z niej dziedziczymy Trojkat, Kwadrat itd .........) nie daje kompletnie nic.
Polecam napisać sobie w C++ programik z klasa Pracownik ( z polami imie, nazwisko i metoda wypisz) z niej odziedziczyc klase Dyrektor (dodac pole dzial i przedefiniowac metode wypisz), oraz z Pracownika odziedziczyć jeszcze np Kierownik (dodać kolejne pole - iloscPodwladnych i przedefiniować stosownie metodę). Teraz zrobić tak, żeby na podstawie tych klas zrobić małą "bazę danych" (trzymać obiekty tych klas w tablicy) i wywolywać po kolei ( w pętli) dla elementów tej tablicy metode wypisz(). Jak dobrze sie zrobi to bedzie działać i zobaczysz na czym polega idea polimorfizmu i dziedziczenia.
Przepraszam, ze pisze o C++, ale tam to właśnie idealnie widać ze względu na to, że polimorfizm nie jest automatyczny i samemu trzeba o tym zadecydować.
GreenGo
26.08.2008, 21:08:24
Dzięki za odpowiedzi i proszę o kolejne również przydatne.
Co do c++ to dopiero teraz na 3 semestrze będę miał obiektowość. W javie już miałem (nie da się nie mieć

) ale nie przykładałem się zbytnio więc niewiele zrozumiałem z zajęć :/
baszkir
26.08.2008, 21:17:52
Jeżeli chodzi o Jave to przemyśl sobie dobrze sprawe z dodawanie obłsugi różnych zdarzeń (np. ActionListener, czy MouseMotionListener), lub operacje wejścia/wyjścia. Idealnie (szczególnie na IO) widac zalety OOP - masz różne klasy do obsługi przeróżnych operacji wejścia/wyjścia, ale używasz zawsze tego dokładnie tak samo. Różne obiekty ale zestaw metod ten sam, co więcej możesz rozwijać to dalej o swoje klasy a ktoś inny będzie tego używał tak samo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.