Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi
JohnnyB
post
Post #2





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

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: 16.10.2025 - 15:17