![]() |
![]() ![]() |
![]() |
-lukasamd- |
![]()
Post
#1
|
Goście ![]() |
Witam,
powoli staram się używać OOP i dziś trafiłem na coś, o czym nigdzie nie czytałem. Wszędzie piszą, znakuj metodę prywatną klasy tak: Kod private function nazwa_funkcji(DALSZY KOD w przeglądanym pliku znalazlem coś takiego: Kod function _nazwa_funkcji(DALSZY KOD a następnie w dokumentacji dowiedziałem się, że ma to dostęp prywatny... Czy jest to zamienny sposób oznaczania, czy jeszcze coś innego? Jeżeli to pierwsze, to co lepiej stosować? Wydaje mi się że pierwszy wariant jest najbardziej czytelny, ale nie wiem jak się przyjęło. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Według mojej wiedzy ten drugi nijak nie może być prywatnym, chyba że się mylę i ktoś mnie naprowadzi na dobry tok myślenia.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
dla oznaczenia metody prywatnej uzywa sie slowa "private".
uzywanie podkreslenia jest tylko i wyłącznie jednym z przyjętych nazewnictw zmiennych/funkcji, mowiących, zeby podkresleniem rozpoczynac zmienne prywatne. Inne nazewnictwa mówią, ze zmiennna prywatna to zmienna pisana z małej litery. zmienna pisana z duzej litery to zmienna publiczna. taki wiec kod: function _nazwa_funkcji dla php to nic innego jak funkcja publiczna. Dla notacji - prywatna taki zas : private function _nazwa_funkcji dla php to funkcja prywatna. Dla notacji też prywatna. No ale ważniejsze jest to co dla php ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
-lukasamd- |
![]()
Post
#4
|
Goście ![]() |
Aha, no to dzięki
![]() Nie wiem po co stosować to "_" dla notacji, skoro nieco wcześniej stoi jak wół (no bo musi stać): "private"... ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ale jak gdzieś później w kodzie masz:
... $this->_nazwa_funkcji(); ... to juz po samej nazwie wiesz, że to prywatna - nie musisz leciec do jej definicji -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
-lukasamd- |
![]()
Post
#6
|
Goście ![]() |
Niby tak, tylko że w tym kodzie nie odwołują się do tych funkcji w ten sposób, czyli jest coś takiego:
Opis metody: Kod function _nazwa_funkcji(DALSZY KOD Jej użycie w dalszej części klasy: Kod $this->nazwa_funkcji();
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Na pewno nie masz tam dwu metod - jednej z podkreśleniem i drugiej bez?
-------------------- |
|
|
-lukasamd- |
![]()
Post
#8
|
Goście ![]() |
Na pewno.
Zresztą sprawdź sam - moduł obsługi mysqli w phpbb3. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Na pewno. Zresztą sprawdź sam - moduł obsługi mysqli w phpbb3. Niemożliwe, może klasa w której to zobaczyłeś dziedziczy tą funkcję z innej klasy? czarne jest czarne a białe jest białe i nikt mi nie wmówi, że jest inaczej. Ten post edytował fifi209 26.10.2009, 19:26:20 -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 10.07.2025 - 06:52 |