![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 38 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jestem nowym użytkownikiem na forum, więc może na początek się przywitam. A więc witam (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Niedawno zacząłem się uczyć PHP i napotkałem na taki oto problem: otóż mam dwie klasy, jedna dziedzicząca
CODE class A { private $a1; //... } class B extends A { var $a2; //... } Potem wpisuje taki oto kod: CODE $b=new B(); $b->a1=11; echo "$b->a1;"; I normalnie wyświetla mi wartość zmiennej $a1 równą 11, a przecież, z tego co wyczytałem klasa dziedzicząca nie powinna dziedziczyć pól prywatnych (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) Nie powinno tu być jakiegoś błędu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
A co masz w tej klasie ? To wygląda na jakby była wywoływana metoda magiczna __set, która tworzy dynamicznie pole klasy.
Poza tym jawnie nie przypiszesz wartości zmiennej prywatnej poza klasą więc z klasą rodzicem nie ma to wiele wspólnego. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 09:24 |