![]() |
![]() |
![]()
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%) ![]() ![]() |
W takim razie przykład zmiennych.
W klasie A sa zmienne typu private i public, oraz funkcja publiczna, która je wszystkie wyświetla. Klasa B dziedziczy po klasie A zmienne i funkcje wyświetlającą wartości zmiennych. Wywołanie funkcji wyswietlajacej wartosci zmiennych z klasy B, powoduje że wyswietlane są tylko zmienne PUBLIC. Czyli funkcja publiczna (wywolana z B), widzi tylko skladowe publiczne klasy-matki ('A'). Czy nie powinno być analogicznie z metodami? (metody private niewidoczne zupelnie w klasie 'B'). Pozdrawiam. Ten post edytował Milczar 19.04.2006, 18:03:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 10:52 |