Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zrozumieć OOP ?
Forum PHP.pl > Forum > Przedszkole
GreenGo
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
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
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
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ć winksmiley.jpg ) ale nie przykładałem się zbytnio więc niewiele zrozumiałem z zajęć :/
baszkir
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.