![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam chciałem się nauczyć programowania obiektowego w php ale nie wiem z kąd ma wziąć samouczki takie kompletne zawierające najważniejsze rzeczy żebym potem nie musiał znów do czegoś wracać?
Ten post edytował benq20 19.08.2011, 21:15:17 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 302 Pomógł: 24 Dołączył: 6.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
n.p.
http://webcity.pl/webcity/programowanie_ob...e_w_php_5_cz__1 wydaje mi się , że uczenie się od razu z bardzo szczegółowego opracowania jest błędem. Najpierw poznaj ogólną filozofię (rusztowanie) programowania obiektwego , a później pogłębiaj je. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Stwórz sobie jakąś prostą klasę i na niej eksperymentuj. Stwórz sobie np klasę kwadrat, w niej pola bok i pole, potem funkcje obliczające pole. Potem zrób prostokąt i to samo z nią. Potem możesz pobawić się w dziedziczenie, zrób sobie klasę figura i po niej dziedzicz np funkcję nadającą nazwę.
Takie proste przykłady, a potem zacznij myśleć o jakiś konkretniejszych rzeczach, które są przydatne w jakiejś aplikacji. W jakimś kursie było coś o butelce. Klasa butelka, jej pole to objętość. Stworzono konstruktor jako max objętość butelki, a potem metody dolejDoButelki wylejZButeki itd. No i zabawa ![]() Ten post edytował IceManSpy 19.08.2011, 22:03:39 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (10%) ![]() ![]() |
Narazie bewię sie z web city bo faktycznie dość dokładnie tam opisali i w najnowszym php 5.
Rozumiem że to jest głownie do tworzenia aplikacji a można prosić o jkąś aplikacje stworzoną w ten sposób? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Całej aplikacji nie tworzy się za pomocą 1 klasy. Każda klasa to jakiś element układanki systemu.
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Odnośnie zadanka z butelką:
Cytat Napisz klasę pojemnik i rozszerz o dwie następne wiaderko oraz butelka. Aplikacja musi mieć możliwość wlewania jak i wylewania określonej wody z butelki. Każdy pojemnik ma swoją pojemność, która jest sprawdzana przy wlewaniu wody, jeśli jest przekroczona to aplikacja informuje ile wody zostało rozlane. Akcje jakie można wykonać. 1. Stworzyć butelkę o pojemności 5l, 2. Wlać do niej 3l 3. Wylać z niej 2l 4. Wlać do niej 5l -> powinien wyskoczyć komunikat rozlano 1l Przemyślcie hermetyzacje danych, oczywiście jest to program dosyć abstrakcyjny ale pozwoli wykorzystać dziedziczenie, można (opcjonalnie) zastosować interfejs, polimorfizm. Nie chodzi o to by tworzyć formularze typu wlewanie wody itp, chodzi o logikę. Fajny opis obiektowego php jest na wikibooks i do tego w ojczystym języku. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 10.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
Właściwie to coś takiego jak kurs programowania obiektowego php nie ma sensu. Obiektowość to tylko sposób myślenia. Dobrym przykładem jest używanie bazy danych w oparciu o własną klasę:
Jeśli nagle stwierdzisz, że nie chcesz używać PDO bo wolisz PEARDB to wystarczy przepisać jedną klasę nie ruszając całej reszty kodu. Moim zdaniem programowanie obiektowe jest jak klocki - najpierw wytłaczamy klocki z plastiku a później budujemy co trzeba. Innym przykładem jest pasek boczny na stronie. Załóżmy, że taki pasek składa się z modułów, które mają postać: Napiszmy więc klasę bazową "Module":
Później klasy szczególnych modułów piszemy prosto:
Żeby skorzystać z tego kodu i wygenerować kod całego panelu używamy:
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 126 Pomógł: 5 Dołączył: 17.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dodam, że interfejsów można używać w następujący sposób :
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 09:04 |