![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam klase, która ma metody: Kod class A{ private function pryw() { print("<br>PRYWATNA<br>"); } public function accesspryw() { $this->pryw(); } } oraz ma inne metody publiczne. Metody accesspryw() potrzebuje by korzystac z metody pryw() wywolujac ją z obiektu klasy A. Kolejna klasa 'B' dziedziczy po klasie A. Kod class B extends A { //i jakies inne metody klasy B } Pytanie następujące: Czy klasa B będzie miała dostęp do metody pryw() z klasy A (poprzez metode accesspryw() )? Chyba nie powinna jej dziedziczyć po klasie A bo w klasie A metoda pryw() jest prywatna, tak? Wywołanie accesspryw() z obiektu klasy B powinno dac (błąd dostępu do metody prywatnej/błąd niezdefiniowanej metody)? Pozdrawiam i z góry dzięki za odpowiedź. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy w takim razie jest jakiś sens robienia metod private, skoro aby ich uzyc trzeba utworzyc publiczna metode dostępową? Uzyc skad? - z tej samej klasy -- przeciez mozesz - z innej klasy -- to po co deklarowales ja jako prywatna? Cytat Przeciez pozniej dziedziczac po klasie matce (A) w ktorej jest metoda private i dostepowa, metoda dostepowa jest dziedziczona co daje dostep do metody private klasy A obiektowi klasy potomnej. Jesli ta metoda dostepowa byla utworzona to byla do czegos POTRZEBNA, wiec najlepiej przemysl interfejsy klas i hiearchie dziedziczenia ponownie. Cytat metoda dostepowa wywolana z potomka nie ma dostepu do zmiennych private klasy rodzica Bo nie ma, jak chcesz zeby miala to zadeklaruj je jako protected. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 14:13 |