Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]OOP - czy to nie utrudnia życia ? :)
kombox
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 6.11.2008

Ostrzeżenie: (10%)
X----


Witam,

czytam o OOP bo mam zamiar to w koncu pojąć ...

do rzeczy mam kod
  1. <?php
  2. class zwierze {
  3.  
  4. private function jedz(){
  5. echo 'Gryz gryz';
  6. }
  7.  
  8. public function zrobCokolwiek(){
  9. $this->jedz();
  10. }
  11. }
  12.  
  13. $zwierze = new zwierze;
  14. $zwierze->zrobCokolwiek();
  15.  
  16. ?>


po co pisać metode private skoro i tak w public sie do nie odniosę przecież to bez sensu (no albo jeszcze mało wiem (IMG:style_emoticons/default/haha.gif) )
skoro można napisać od razu
  1. <?php
  2. class zwierze {
  3.  
  4. public function zrobCokolwiek(){
  5. echo 'Gryz gryz';
  6. }
  7. }
  8.  
  9. $zwierze = new zwierze;
  10. $zwierze->zrobCokolwiek();
  11.  
  12. ?>
  13.  


Niech mi to ktoś w końcu racjonalne wytłumaczy (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #2





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

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


No w tym przypadku to akurat bez sensu jest rozbijać to na dwie metody (w ogóle bez sensu jest tutaj robić obiekt).
Google: OOP hermetyzacja
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #3





Goście







Ja również tak powoli, powolutku, bardzo powolutku przechodzę na OOP i również mam dylematy: czy tu będzie dobrze, czy może jednak nie? (IMG:style_emoticons/default/smile.gif)
Najlepszy przykład pokazujący zalety OOP to chyba wałkowany setki razy interfejs + implementujące go sterowniki do bazy danych.
Nie zawsze jest dostęp do PDO (o ile już się o nim oczywiście dowiemy), zaś rozdzielanie silników w proceduralnym przez if / else byłoby chorym rozwiązaniem.

Dla mnie obecnie dylematem są sprawy typu: chcę zrobić sobie stronę z dodawaniem artykułów i wpisów. Czy robić klasę dla artykułów (metody typu: addArticle, deleteArticle, searchArticle), czy może rozwiązać to w inny sposób? Jak do tego dorzucam MVC to już niezły mętlik się robi. No ale powolutku idę do przodu (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
kombox
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 6.11.2008

Ostrzeżenie: (10%)
X----


No ja mam dokładnie to samo (IMG:style_emoticons/default/biggrin.gif) tylko wiesz kurcze pisząc tu myślałem że otrzymam odpowiedź z + - a to tylko forma bardzo krótkiej odpowiedzi ;D oczywiście mogę luknąć do google i znaleźć setki artów no ale lepiej uzyskać odpowiedzi że tak powiem na konkretny problem w tej chwili no ale jak to mówią "Życie " (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
JohnnyB
post
Post #5





Grupa: Zarejestrowani
Postów: 76
Pomógł: 19
Dołączył: 19.01.2010

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


to stosunkowo proste, tworząc bibliotekę przy użyciu tradycyjnego programowania strukturalnego, nie ma sposobu (przynajmniej w PHP) aby ukryć przed użytkownikiem końcowym te funkcje, których naszym zdaniem nie powinien bezpośrednio wywoływać. W OOP możemy to zrobić bardzo łatwo - metody prywatne nie mogą być wywołane poza obiektem. Można więc dostarczyć użytkownikowi "czarne pudełko" - użytkownik końcowy może używać jedynie metod oznaczonych jako publiczne, które zwykle służą za interfejsy, podczas gdy cała implementacja jest "ukryta" za pomocą metod prywatnych. Jeśli za jakiś czas wypuścimy nową wersję naszej biblioteki, możemy dowolnie pozmieniać wszystkie metody prywatne, mając 100% pewności, że nie stracimy kompatybilności z poprzednią wersją, o ile metody publiczne pozostaną takie same.
Go to the top of the page
+Quote Post
kombox
post
Post #6





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 6.11.2008

Ostrzeżenie: (10%)
X----


JohnnyB NO znacząco mi to już rozjaśniłeś ... i Tak jest najlepiej (twoja wypowiedz)
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: 23.08.2025 - 13:50