Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Obiektowy php
michaf1994
post
Post #1





Grupa: Zarejestrowani
Postów: 67
Pomógł: 2
Dołączył: 17.07.2014
Skąd: Wielkopolska

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


Siemka
Może tak trochę nie na temat, ale zaczynam się zagłębiać w obiektowe i mam jedno podstawowe pytanie: po co wgl to programowanie obiektowe?

Nie łatwiej operować na proceduralnym?
Napisać kilka funkcji w jednym pliku i wyjdzie na to samo.

Czy może ktoś mnie oświecić?
W php nie widzę właściwie różnicy w samej taktyce pisania między funkcjami a klasami. Poza dziedziczeniem, ale nie widzę sensu. Dobry programista potrzebuje obiektowego? Jeżeli tak to po co?. Po co utrudniać sobie tak życie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


@michaf1994 chcesz pisać strukturalnie i nie masz potrzeby pisać obiektowo to w czym problem? Pisz jak Tobie jest lepiej lub jak potrzebujesz. Nie jesteś pierwszym, który ma takie podejście i stawia takie pytanie (np. Temat: Programowanie obiektowe jak sie przekonac).

Cytat
W php nie widzę właściwie różnicy w samej taktyce pisania między funkcjami a klasami. Poza dziedziczeniem, ale nie widzę sensu.

Wybacz, ale to oznacza, że nie masz pojęcia o programowaniu obiektowym. Pokaż co przeczytałeś, a może ktoś doradzi Ci co jeszcze powinieneś przeczytać. Moim zdaniem dla poczatkujacego absolutne miniumum to "PHP5 Obiekty, wzorce, narzędzia". Oczywiście jest jeszcze uznawana za najważniejsza, ksiazka Bandy czworga "Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku". Do tego podane już blogi/kursy i wiele innych materiałów w sieci.


Chciałbym dołaczyć dygresję.

Cytat
Jednak dobrze napisany kod ma include do podstawowych funkcji wtedy łatwiej czytać kod.

Być może Tobie tak, ale innym nie.

Cytat
Styl proceduralny jest raczej stosowany tam, gdzie skomplikowanie logiki biznesowej jest małe, albo tam, gdzie mówimy o embedded ©. Wtedy rzeczywiści procedural może się lepiej sprawdzić niż OOP.

Przecież nie ma żadnego zwiazku między systemami wbudowanymi a obiektowościa. Kod dla systemów wbudowanych bez przeszkód mógłby być obiektowy i przecież jest.

Cytat
Sens jest i to ogromny. Inaczej by tego nie wymyślono i nikt by tak nie programował. Pewnych rzeczy po prostu nie zrobisz strukturalnie.

Uważasz, że wyznacznikiem sensowności jest to, że ktoś to wymyślił? Czyli, że rzeczy bezsensowne nie sa wymyślone a spadaja z nieba? Wielokrotnie można spotkać się z sytuacja w ktorej robimy coś bez sensu: "bo tak".

Cytat
Samochód masz zielony, 5 osobowy, masz klakson, drzewko zapachowe i szyberdach. Szyberdach możesz otworzyć, drzewko wymienić, kolor może być ładny lub brzydki -> kwestia gustu np dziewczyny, która też jest obiektem , a autem możesz jeździć - jeśli masz prawko. Spoko - w strukturalnym też by tak można było opisać samochód. Ale z takim obiektem możesz zrobić różne rzeczy w poniedziałek, wtorek,... piątek, w Polsce i Niemczech. Czyli gdzie chcesz i kiedy chcesz na różne sposoby.
Służy Ci do czegoś więcej niż tylko do jeżdżenia na zakupy w środę po drzewko bananowe.

W strukturalnym taki samochód byłby smutny ponieważ jeździłby tylko w określone dni na określone kursy Ponieważ tak postanowił zły strukturalny Stary, który pozwala użyć samochodu IF nie wrócisz za późno.

Cytat
Aby móc coś zrobić z tym obiektem tworzysz jego instancję. Czy to w trakcie dodawania użytkownika czy wybierania rekordu z artykułem, czy zapisu czegoś do bazy -> w zależności do czego masz klasę i co potrzebujesz.
Następnie za pomocą wcześniej zdefiniowanych "rzeczy" operujesz na nim w określony sposób. Do dyspozycji dostajesz konkretne dane, na których możesz robić konkretne rzeczy. A nie gdzieś tam coś tam z d|_|py.

Cytat
Masz to w klasie MojaKlasaDoCzegośTam w odpowiednim folderze, a nie w linijce 397 zaraz po IF, który sprawdzi coś tam a następnie dokona walidacji czy ciąg nie jest czasem pusty następnie przerobi twój ciąg w taki i taki sposób , żeby potem w linijce 425 wstawić coś do bazy

To już w ogóle nie wiadomo o co chodzi. Dokładnie to samo można napisać proceduralnie.

Cytat
5. raz napisane klasy - skrócenie czasu pracy + wykorzystasz sobie je w przyszłości. A kopiuj tu teraz i wycinaj co potrzeba ze strukturalnego i zmieniaj co trzecią linijkę w zależności od projektu

Porównywanie źle napisanego kodu strukturalnie z dobrze napisanym kodem zorientowanym obiektowo nie ma sensu, oczywiście można, tylko wnioski sa tyle samo warte co porównanie.

Cytat
Programowanie obiektowe najlepiej poznaje się na językach typowo zorientowanych obiektowo jak np. JAVA, gdzie inaczej niż obiektowo nie napiszesz.

Naprawdę chcesz bronić tezy, że w java'ie nie da się napisać strukturalnie? Słowo kluczowe class nie czyni kodu obiektowym.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 22:55