![]() |
![]() |
![]()
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%) ![]() ![]() |
Klasa potomna NIE dziedziczy metod (i zmiennych) prywatnych (odsylam do manuala z objecnieniem modyfikatora private) -- dziedziczy jedynie metody (i zmienne) publiczne i chronione -- czyli tak jak pisal sf
Milczar Cytat 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)? Klasa B dziedziczy po A: accesspryw() NIE dziedziczy: pryw() accesspryw() jest wykonywana na 'poziomie' klasy A (bo niezostala przedefiniowana w (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) i ma dostep do wszystkich pol i metod klasy A. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 18:05 |