PHP.SU

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

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

> Найдено сообщений: 5
fid Отправлено: 08 Июля, 2011 - 11:26:46 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3713
Ну на счет извращаться, это не ко мне Хорошо я всего лишь чужой код пытаюсь разобрать. Видимо когда писали первый класс, второго еще не существовало в мыслях Хорошо

fid пишет:
в инициализации функции вы говорите что объект $article новый экземпляр класса Article, он будет доступен только внутри функции, далее

ну скорее всего он доступен внутри всего класса получается
fid Отправлено: 08 Июля, 2011 - 11:02:39 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3713
С динамическими переменными всё ясно, а вот экземпляр объекта класса можно совершенно произвольно вводить в любом месте кода получается?
fid Отправлено: 08 Июля, 2011 - 10:55:53 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3713
Про динамическое определение, имеется ввиду вот эта строчка во втором классе в методе?


Ошибки нет, я набрал пример, код работает без определения $article
fid Отправлено: 08 Июля, 2011 - 10:50:38 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3713
Так вот всё дело в том что я привожу здесь целиком класс Article, и в полях нет $article
fid Отправлено: 08 Июля, 2011 - 10:42:21 • Тема: Наследование классов • Форум: Объектно-ориентированное программирование

Ответов: 10
Просмотров: 3713
Подсмотрел в учебнике пример про полиморфизм, но не суть, в задаче определяют два класса, второй в другом файле. При определении второго класса используется переменная $article, которая нигде не определена. Эти примеры работают я проверял, но только не могу понять откуда мы берем $article, если переменная заранее нигде не определена.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. class Article
  4. {
  5.         var $id;
  6.         var $title;
  7.         var $content;
  8.        
  9.         function Article($id, $title, $content)
  10.         {
  11.                 $this->id = $id;
  12.                 $this->title = $title;
  13.                 $this->content = $content;
  14.         }
  15.        
  16.         //  Функция для вывода статьи
  17.         function view()
  18.         {
  19.                 echo "<h1>$this->title</h1><p>$this->content</p>";
  20.         }
  21. }
  22.  
  23. // Теперь определяется другой класс в другом файле
  24.  
  25. <?PHP
  26.  
  27. require_once('ex5.php');
  28.  
  29. class ArticleList
  30. {
  31.         var $alist; // Здесь определяется массив который хранит набор статей
  32.        
  33.         function add(Article $article) // Метод принимает переменную класса Article
  34.         {
  35.                 $this->alist[] = $article; // Экземпляр класса Article записывает в массив
  36.         }
  37.        
  38.         //  Вывод статей
  39.         function view()
  40.         {
  41.                 foreach($this->alist as $article)
  42.                 {
  43.                         $article->view();
  44.                         echo '<hr />';
  45.                 }
  46.         }
  47. }

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB