PHP: статическое наследование подкласса – дети совместно используют статические переменные?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 PHP: статическое наследование подкласса – дети совместно используют статические переменные?

Сообщение Гость »


Как вы можете видеть ниже, у меня есть суперкласс (Article) и два подкласса. Я хочу, чтобы каждый из подклассов имел статический массив, в котором будут храниться все его объекты.

абстрактный класс Статья { общественная статическая $articles = array(); // Переменная для хранения всех объектов каждого подкласса. публичная функция add_Object_To_Array() { array_push(self::$articles, $this); } } отчет класса расширяет статью{} класс Интервью расширяет статью {} -Создание двух объектов отчета и добавление их в их массив:

$tmp = новый отчет(); $tmp->add_Object_To_Array(); $tmp = новый отчет(); $tmp->add_Object_To_Array(); -Создание двух объектов Interview и добавление их в их массив:

$tmp = новое интервью(); $tmp->add_Object_To_Array(); $tmp = новое интервью(); $tmp->add_Object_To_Array(); print_r(Отчет::$articles); print_r(Интервью::$articles); -Приведенный выше скрипт выдает два массива:

Массив ( [0] => Объект отчета() [1] => Объект отчета() [2] => Объект интервью() [3] => Объект интервью() ) Множество ( [0] => Объект отчета() [1] => Объект отчета() [2] => Объект интервью() [3] => Объект интервью() ) На мой взгляд, это выглядит очень похоже, но первый должен содержать только отчеты, а второй только интервью.
1. Кажется, что массив только один, почему массив только один?
2. У меня есть статический контейнер объектов того же класса. Это плохой код? (Есть предложения?)

Я новичок в PHP, но имею опыт работы с Java.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»