Доступ к методу класса (PHP5) @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 5 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
(sp)
соучастник
0
Сообщения: 559
Зарегистрирован: 22.01.05
Заголовок сообщения: Доступ к методу класса (PHP5)
Сообщение Добавлено: 3 Август 2005, 13:17:28 
Возможно, вопрос даже не по php, а по принципам ООП.
Есть массив $arr объектов класса A. Каждый из этих объектов имеет private свойство $b, которое, в свою очередь, является объектом класса B.

У класса B есть метод return_pure() типа public.

При попытке обращения к методу return_pure() вот таким вот образом:
Код:
$this->arr[0]->b->return_pure();
php выдаёт ошибку: попытка доступа к свойству $b, которое private. Если $b сделать public, всё работает.

Почему так, ведь я пытаюсь получить доступ не к самому $b, а к его public методу?

_________________
baby`s got an atom bomb
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: Re: Доступ к методу класса (PHP5)
Сообщение Добавлено: 3 Август 2005, 13:22:22 

(sp) писал(а):
Почему так, ведь я пытаюсь получить доступ не к самому $b, а к его public методу?



Отнюдь. Ты именно пытаешься получить доступ к b, а уже потом -- к его методу. Пробовал пить пиво, не открывая бутылку?
(sp)
соучастник
0
Сообщения: 559
Зарегистрирован: 22.01.05
Сообщение Добавлено: 3 Август 2005, 14:05:13 
Примерно так мне всё и представлялось.
Описание дополнительного метода класса A для вывода $b->value (то, чем занимается return_pure()) здесь -- единственный выход?

_________________
baby`s got an atom bomb
Acid~Jazz Муж.
соучастник
1
Сообщения: 740
Зарегистрирован: 12.04.03
Откуда: Зеленоград
Сообщение Добавлено: 6 Август 2005, 11:04:20 
да, так правильно идеологически. а называется это инкапсуляция.

_________________
начинающий менеджер . http://acidjazz.photosight.ru/
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 6 Август 2005, 16:34:47 

(sp) писал(а):
единственный выход?



Более того: это рекомендуемое решение даже в случае, когда срабатывает $this->arr[0]->b->return_pure().
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 5 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100