| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > private члены в базовых и наследующих классах |
| Автор: MyDarkSide 9.11.2009, 11:28 | ||||
Собсно код:
вывод:
то что публичный член класса A не переопределил приватный член класса B - понятно так и должно быть, но как и самое главное ЗАЧЕМ приватный член базового класса попал в наследующий класс ?? причем речь идет не об ошибке распарсивания , приватный член базового класса изменяется динамически. Я бы понял (и простил |
| Автор: NewDima 9.11.2009, 17:35 |
| MyDarkSide, ты думаешь, если с помощью serialize не будут сохранены private члены базового класса, то после unserialize ты сможешь восстановить первоначальное состояние объекта? Инкапсуляция скрывает от кода, не имеющего права на доступ, помеченный члены класса, но как это должно относиться к serialize-у? Сохранили состояние объекта (а в него входят все члены класса, родительского класса и так далее) и все. |
| Автор: MyDarkSide 9.11.2009, 18:05 |
| NewDima, хороший вопрос.. значит, если сохранять объект в файл, то либо у него не должно быть родителей (либо они должны содержать только методы) либо сохранять своим методом без сериализа |
| Автор: NewDima 10.11.2009, 07:56 |
| Возьми любой компилируемый язык с ООП, вот сделаешь ты дамп памяти, где содержится экземпляр определенного класса. Думаешь ты не увидишь там private членов родительских классов? А где им тогда храниться? Так и здесь, зачем пялиться на результат сериалайза (параллель с дампом)? |
| Автор: sTa1kEr 11.11.2009, 00:15 |
| Для сериализации объектов существует интерфейс http://ru.php.net/Serializable. |
| Автор: NewDima 11.11.2009, 10:42 |
| sTa1kEr, вы к чему это? Человек спрашивает, почему видно состояние объекта, которое скрывается в private секции |
| Автор: MyDarkSide 12.11.2009, 10:19 | ||
| sTa1kEr, спасибо за наводку! Добавлено через 8 минут и 33 секунды
Вопроса два - именно этот ( и нет ли в связи с этим проблем с безопасностью) и второй именно про сериализ - зачем мне в файле лишние данные. |
| Автор: SneG0K 12.11.2009, 10:39 | ||
Может автар попутал приват и протектед? |