![]() |
![]() ![]() |
![]() |
![]()
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?
|
|
|
![]()
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
![]() ![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
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 ![]() -------------------- Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij |
|
|
![]()
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ć. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 06:59 |