Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: не срабатывает уточнее класса

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: пример из книги
Faab
Отправлено: 17 Февраля, 2013 - 16:52:31
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Читаю книжку. Вот пример, который должен привести к ошибки из за уточнения класса в методе write(): public function write( ProductShop $productShop){...}

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class ProductShop {
  3.     //
  4.     public $title = "Standart title";
  5.     public $producerMainName = "Family Name";
  6.     public $producerFirstName = "First Name";
  7.     public $price = 0;
  8.    
  9.     function __construct($title, $mainName, $firstName, $price){
  10.         $this->title = $title;
  11.         $this->producerMainName = $mainName;
  12.         $this->producerFirstName = $firstName;
  13.         $this->price = $price;
  14.     }
  15.    
  16.     public function getProducer (){
  17.         return "{$this->producerMainName} "."{$this->producerFirstName}\n";
  18.     }
  19. }
  20.  
  21. class ProductMusicShop {
  22.     //
  23.     public $title = "Standart title";
  24.     public $producerMainName = "Family Name";
  25.     public $producerFirstName = "First Name";
  26.     public $price = 0;
  27.    
  28.     function __construct($title, $mainName, $firstName, $price){
  29.         $this->title = $title;
  30.         $this->producerMainName = $mainName;
  31.         $this->producerFirstName = $firstName;
  32.         $this->price = $price;
  33.     }
  34.    
  35.     public function getProducer (){
  36.         return "{$this->producerMainName} "."{$this->producerFirstName}\n";
  37.     }
  38. }
  39.  
  40. class ProductShopWriter {
  41.     public function write( ProductShop $productShop){
  42.         $str = "{$productShop->title}: "
  43.         .$productShop->getProducer()
  44.         ."({$productShop->price})\n";
  45.         print $str;
  46.     }
  47. }
  48.  
  49. $productMusic1 = new ProductShop("Dogs Heart", "Bulgakov", "Mihail", 50);
  50. $product1 = new ProductShop("Dogs Heart", "Bulgakov", "Mihail", 60);
  51.  
  52. $writer = new ProductShopWriter();
  53.  
  54.  
  55. $writer->write( $productMusic1 );
  56.  
  57.  


Автор обещает ошибку: Catchable Fatal Error, но уточнее класса не срабатывает и выводит экземпляр класса $productMusic1. Почему?
 
 Top
VitalKO
Отправлено: 17 Февраля, 2013 - 16:56:29
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1. $productMusic1 = new ProductMusicShop ("Dogs Heart", "Bulgakov", "Mihail", 50);

(Отредактировано автором: 17 Февраля, 2013 - 16:56:49)

 
 Top
Faab
Отправлено: 17 Февраля, 2013 - 16:59:54
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




VitalKO пишет:
PHP:
скопировать код в буфер обмена
  1. $productMusic1 = new ProductMusicShop ("Dogs Heart", "Bulgakov", "Mihail", 50);


а да... создал экземпляр этого же класа. Спасибо
 
 Top
VitalKO
Отправлено: 17 Февраля, 2013 - 17:00:53
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Faab М. Зандстру читаете?Улыбка
 
 Top
Faab
Отправлено: 17 Февраля, 2013 - 17:03:14
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




VitalKO пишет:
Faab М. Зандстру читаете?Улыбка


Да, я как то начал читать пару месяцев назад.. потом на чём то споткунулся и оставил так. Сейчас хочу попыться дойти хотя бы к середине.
 
 Top
VitalKO
Отправлено: 17 Февраля, 2013 - 17:06:25
Post Id


Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Faab пишет:
VitalKO пишет:
Faab М. Зандстру читаете?Улыбка


Да, я как то начал читать пару месяцев назад.. потом на чём то споткунулся и оставил так. Сейчас хочу попыться дойти хотя бы к середине.

Очень хорошая книжка, я после нее по новому стал мыслить и существенно поднял свой уровень программирования. Обязательно дочитайтеУлыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB