![]() |
![]() |
![]()
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: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 13.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Czy w takim razie jest jakiś sens robienia metod private, skoro aby ich uzyc trzeba utworzyc publiczna metode dostępową? 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. I czemu tak nie ma w zmiennych (metoda dostepowa wywolana z potomka nie ma dostepu do zmiennych private klasy rodzica)? Wiem ze moze pytam ktorys juz raz o to samo ale dalej jest to dla mnie troche dziwne.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 18:25 |