Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Programowanie obiektowe, Proszę o pomoc
mayu11
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Witam, piszę struktualnie i wiele słyszałem, że OOP jest wiele lepsze...


1. Czy możecie podać jakieś konkretne przykłady w czym?
2. Czy gdy używam "function xx()" to też jest jakaś część OOP?
3. Czy wszystko można rozpisać obiektowo?


Nie dotyczące programowania obiektowego.
Wstęp do pytania 1:
Ostatnio widziałem coś podobnego do tego:
  1. if($cośtam : $cośtam2 ?

1. Co oznacza ten zapis?

Ten post edytował mayu11 2.07.2010, 20:34:46
Go to the top of the page
+Quote Post
Mikz
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 3
Dołączył: 7.12.2007

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


Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
1. Czy możecie podać jakieś konkretne przykłady w czym?

Czy przeczytałeś jakikolwiek kurs który dotyczy programowania obiektowego?
Wszędzie masz masę przykładów.

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
2. Czy gdy używam "function xx()" to też jest jakaś część OOP?

Może być to zarówno obiektowe jak i proceduralne. Zależy czy deklaracja jest w kontekście klasy (np. public function xx() ) czy w kontekście globalnym (tak jak napisałeś).

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
3. Czy wszystko można rozpisać obiektowo?

Wszystko można, lecz nie zawsze jest sens.

Cytat(mayu11 @ 2.07.2010, 21:31:13 ) *
Ostatnio widziałem coś podobnego do tego:
  1. if($cośtam : $cośtam2 ?

1. Co oznacza ten zapis?


Nie tak wygląda ten zapis.
To wygląda tak:
  1. echo $warunek ? 'spełniony' : 'niespełniony';

Tłumaczy się na:
  1. if ($warunek)
  2. echo 'spełniony';
  3. else
  4. echo 'niespełniony';


Można stosować zarówno przy echo, jak i przy argumentach funkcji i w ogóle w wielu miejscach jest to wygodne, ale nie należy przesadzać bo nie jest nadzwyczajnie czytelne.

Ten post edytował Mikz 2.07.2010, 20:38:53
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
if($cośtam : $cośtam2 ?
Jak już to raczej mogło tam być
  1. if($cośtam : $cośtam2 ? $costam3)
I jest to po prostu zwykła instrukcja IF, a w jej wnętrzu tzw. Ternary operator.

Co do pytań:
1) Pozwala na łatwiejsze odwzorowanie typowych sytuacji/problemów,
2) Częścią OOP jest wszystko to co w jakiś sposób operuje na obiektach - chociaż to nie do końca dobrze napisałem
3) W gruncie rzeczy to tak
Go to the top of the page
+Quote Post
Mikz
post
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 3
Dołączył: 7.12.2007

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


Cytat(Crozin @ 2.07.2010, 21:39:57 ) *
  1. if($cośtam : $cośtam2 ? $costam3)


Przepraszam za offtopa, ale wygląda mi to nieco bezsensownie. Albo jedno albo drugie, po co łączyć oba ze sobą?
Go to the top of the page
+Quote Post
Crozin
post
Post #5





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Przepraszam za offtopa, ale wygląda mi to nieco bezsensownie. Albo jedno albo drugie, po co łączyć oba ze sobą?
Nie pytaj mnie tylko autora kodu, który widział autor wątku. (IMG:style_emoticons/default/winksmiley.jpg)
  1. if($a ? $b : $c)
Można zapisać jako:
  1. if (($a && $b) || $c)

Jednak pod względem składni jest to zapis jak najbardziej poprawny, chociaż jakiegoś konkretnego, logicznego przypadku użycia dla czegoś takiego też nie potrafię znaleźć.

Cytat
Nie tak wygląda ten zapis.
To wygląda tak:
  1. echo $warunek ? 'spełniony' : 'niespełniony';

A guzik prawda. Ten operator nie ma kompletnie nic wspólnego z echo czy jakąkolwiek inną instrukcją języka.

Ten post edytował Crozin 2.07.2010, 20:53:26
Go to the top of the page
+Quote Post
mayu11
post
Post #6





Grupa: Zarejestrowani
Postów: 99
Pomógł: 9
Dołączył: 9.09.2008

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


Dziękuję za odpowiedzi, czytałem wiele artykułów na temat OOP, jednak troszkę mnie to przeraża [Potrzebne źródło 1 => Potrzebne źródło2]
Może jak w nowej szkole ktoś będzie to rozumiał i będzie się mu chciało mi to przekazać to się zdecyduję, ale tymczasowo nie za bardzo mnie do tego ciągnie.

Nowy projekt 'Zarny' zacznę strukturalnie.
Jeszcze raz dziękuję i pozdrawiam.
Go to the top of the page
+Quote Post
Mikz
post
Post #7





Grupa: Zarejestrowani
Postów: 48
Pomógł: 3
Dołączył: 7.12.2007

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


Cytat(Crozin @ 2.07.2010, 21:51:28 ) *
A guzik prawda. Ten operator nie ma kompletnie nic wspólnego z echo czy jakąkolwiek inną instrukcją języka.

Zgadza się, to był tylko przykład, tylko bardziej sensowny niż ten z if() (IMG:style_emoticons/default/smile.gif) . Aha, przepraszam jeżeli to pytanie odebrałeś personalnie, wiem że nie Ty wymyśliłeś tą treść i wyraziłem tylko swoje zdziwienie.

Cytat(mayu11 @ 2.07.2010, 21:53:17 ) *
Dziękuję za odpowiedzi, czytałem wiele artykułów na temat OOP, jednak troszkę mnie to przeraża
(...)
Nowy projekt 'Zarny' zacznę strukturalnie.
Jeszcze raz dziękuję i pozdrawiam.


Bez sensu, lepiej poświęcić trochę czasu teraz na zrozumienie o co w tym chodzi niż potem poświęcić 4x więcej czasu na próby przerabiania proceduralnego kodu. Naprawdę (IMG:style_emoticons/default/winksmiley.jpg)

Poszukaj po prostu lepszych artykułów :]. Aha, no i oczywiście pytaj jeśli nie rozumiesz, tylko raczej w dziale "Przedszkole" bo tu mogą Cię zjechać za zbyt proste pytania.

Ten post edytował Mikz 2.07.2010, 21:00:47
Go to the top of the page
+Quote Post
Crozin
post
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Cytat
Bez sensu, lepiej poświęcić trochę czasu teraz na zrozumienie o co w tym chodzi niż potem poświęcić 4x więcej czasu na próby przerabiania proceduralnego kodu. Naprawdę
Dobrze napisany kod proceduralny nie musi wymagać przepisania. Więcej... źle napisany obiektowy jest większą udręką niż strukturalny.

btw: kod strukturalny a proceduralny to dwie inne rzeczy - więcej w wiki.
Go to the top of the page
+Quote Post
Mikz
post
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 3
Dołączył: 7.12.2007

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


Cytat(Crozin @ 2.07.2010, 22:15:03 ) *
btw: kod strukturalny a proceduralny to dwie inne rzeczy - więcej w wiki.

Przepraszam, masz rację, zgeneralizowałem trochę.

Cytat(Crozin @ 2.07.2010, 22:15:03 ) *
Dobrze napisany kod proceduralny nie musi wymagać przepisania. Więcej... źle napisany obiektowy jest większą udręką niż strukturalny.

Tutaj masz rację, ale problem przychodzi w momencie w którym musisz dodać nową funkcjonalność lub przerobić starą (np. dodać więcej możliwości).
Wtedy robi się nieprzyjemnie.

No, ale ja jestem zwolennikiem obiektowości, może stąd taka moja opinia. Po prostu uważam że przy dużych projektach obiektowość wielokrotnie ratuje od utonięcia w g*wnie.

mayu11 -> Generalnie żeby nie było że nic nie wnoszę do tematu, napiszę tylko że jeśli zależy Ci na elastycznym i czytelnym kodzie, przyswój sobie OOP, choćby po to żeby decyzję o tym, czy swój nowy projekt napisać obiektowo, podjąć świadomie. Polecę Ci ten artykuł po to żebyś miał jaśniejszy pogląd na sytuację.

Ten post edytował Mikz 2.07.2010, 21:44:15
Go to the top of the page
+Quote Post
pedro84
post
Post #10





Grupa: Nieautoryzowani
Postów: 2 249
Pomógł: 305
Dołączył: 2.10.2006

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


Cytat(Mikz @ 2.07.2010, 22:18:28 ) *
Tutaj masz rację, ale problem przychodzi w momencie w którym musisz dodać nową funkcjonalność lub przerobić starą (np. dodać więcej możliwości).
Wtedy robi się nieprzyjemnie.

Zależy o jakiej funkcjonalności mówisz, zauważ, że jak kod masz fatalnie napisany, to nawet to, że jest pisany obiektowo niezbyt wiele zmieni.

Cytat(Mikz @ 2.07.2010, 22:18:28 ) *
No, ale ja jestem zwolennikiem obiektowości, może stąd taka moja opinia. Po prostu uważam że przy dużych projektach obiektowość wielokrotnie ratuje od utonięcia w g*wnie.

Popieram w stu procentach. Mnie nie raz ratowała (IMG:style_emoticons/default/winksmiley.jpg)

@autor: OOP zawsze warto poznać i wykorzystywać w swoich projektach. Może trochę dziwnie to zabrzmi, ale jakoś ciężko byłoby mi napisać (w sensie - dać się do tego przekonać) bez użycia OOP.
Go to the top of the page
+Quote Post

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: 19.09.2025 - 05:49