| Код |
|---|
Class B {
private $a = "B" ;
function __construct() {
$this->a = "C";
}
}
Class A extends B {
public $a = "A" ;
}
$c = new A;
print_r( $c );
echo serialize( $c ) ; |
вывод
| Код |
|---|
A Object
(
[a] => A
[a:private] => C
)
O:1:"A":2:{s:1:"a";s:1:"A";s:4:"Ba";s:1:"C";} |
то что публичный член класса A не переопределил приватный член класса B - понятно так и должно быть, но как и самое главное ЗАЧЕМ приватный член базового класса попал в наследующий класс ??
причем речь идет не об ошибке распарсивания , приватный член базового класса изменяется динамически.
Я бы понял (и простил ) это для print_r , хотя тоже странно - это же нарушение инкапсуляции, я даже знать ничего не должен о приватных членах базового класса, но зачем мне это счастье в serialize ?? если я хочу сохранить объект в файлик например


























