Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> technika programowania obiektowego
qbal
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 24.11.2006

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


Przegladajac intrenet i czytajac pare ksiazek o temetyce php i programowania obiektowego w tym jezyku zauwazylem, ze praktycznie wiekszosc klas ma wszytkie swoje metody oznaczone jako publiczne (niezaleznie co one robia, czy sluze do modyfikowania zmiennych klasy czy innych zachowan). Kiedys uczono mnie (C++), ze publiczne powinny byc tylko te metody ktore sluza do komunikacji z klasa, wszytko co sie dzije w srodku klasy powinno byc ukryte dla innych klas. Byla tez zasada jezeli nie wiesz czy jakies pole/metoda ma byc publiczna/prywatna uczyn ja prywatna. DLaczego programisci php robia inaczej?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
NuLL
post
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Zalezy na jaki przyklad kodu patrzalas - moze ktos kulawy w OOP pisal (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




@qbal - Za dużo chcą naraz, brak myślenia i umiejętności analizy, lenistwo, niechciejstwo... chyba to wszystko, co i inni programiści. Zważ, że w php niekoniecznie musisz programować obiektowo, a w miarę sensowny oop jest dostępny od wersji 5.0 tego języka.

Pozdrawiam.
Go to the top of the page
+Quote Post
Athlan
post
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

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


Metody prywatne powinny być w klasie oznaczone jako private wtedy, gdy są specyficzne dla danego działania klasy. Jeżeli uważasz, że do metody dostęp powinna mieć tylko ta klasa, używasz słowa kluczowego private. Kiedy watro zauważyć, że metoda powinna być prywatna? Dobrym przykładem jest generowanie identyfikatora pliku cache biorąc jego nazwę, na przykład nazwę sprowadzamy do base64 i kodujemy na md5. Wówczas otrzymujemy idenyfikator pliku cache, który moze odczytać tylko klasa cache'u, bo po co to innej klasie? żeby namieszała w cache'u?

Jeżeli chcesz zabezpieczyć jakiś kod tylko dla klasy maciezystej, uzyj private. Kiedy je uzyjesz to Twoja sprawa, zalezy od logiki działania aplikacji i dostępu do niektórych części kodu.

Pozdrawiam, Athlan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
DeyV
post
Post #5





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Problem jest też w tym, że w sumie od niedawna php posiada możliwość definiowania metod i atrybutów jako private lub protected.

Wiele osób ciągle jeszcze kopiuje swoje przyzwyczajenia z php4, i nawet gdy tworzy kod obiektowy, to zapomina o hermetyzacji. A rzeczywiście - warto z tego korzystać.
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: 22.08.2025 - 22:03