Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jak zrozumieć OOP ?
GreenGo
post 26.08.2008, 20:29:53
Post #1





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
ActivePlayer
post 26.08.2008, 20:39:07
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 224
Pomógł: 40
Dołączył: 6.07.2004
Skąd: Wuppertal

Ostrzeżenie: (0%)
-----


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'.
Go to the top of the page
+Quote Post
baszkir
post 26.08.2008, 21:03:58
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 8
Dołączył: 2.08.2008

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
GreenGo
post 26.08.2008, 21:08:24
Post #4





Grupa: Zarejestrowani
Postów: 265
Pomógł: 4
Dołączył: 30.08.2004

Ostrzeżenie: (0%)
-----


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ęć :/
Go to the top of the page
+Quote Post
baszkir
post 26.08.2008, 21:17:52
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 8
Dołączył: 2.08.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:11