![]() |
![]() ![]() |
![]() |
![]()
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. |
|
|
![]()
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'.
|
|
|
![]()
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ć. |
|
|
![]()
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ć ![]() |
|
|
![]()
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.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:11 |