ВУЗ:
Составители:
Рубрика:
53
Конструкторы позволяют выполнить действия создание объекта
и инициализацию его атрибутов за один этап.
Можно вызвать конструктор, который просто создает объект, но
не инициализирует его атрибуты:
$page = new Web_page;
Объект можно создать при помощи конструктора, определенного
в классе. В этом создается объект класса Web_page и присваивается
значение его атрибуту bgcolor:
$page = new Web_page("brown");
Деструкторы
Как упоминалось ранее, в РНР
отсутствует непосредственная
поддержка деструкторов. Тем не менее можно легко имитировать ра-
боту деструктора, вызывая функцию РНР unset( ). Эта функция унич-
тожает содержимое переменной и возвращает занимаемые ею ресурсы
системе. С объектами unset( ) работает так же, как и с переменными.
Допустим, работаем с объектом $Web_page. После завершения работы
с этим конкретным объектом вызывается функция
unset($Web_page);
Эта команда удаляет из памяти все содержимое $Web_page. Дей-
ствуя в духе инкапсуляции, можно поместить вызов unset( ) в метод с
именем destroy( ) и затем вызвать его:
$Website->destroy( );
Необходимость в вызове деструкторов возникает лишь при рабо-
те с объектами, использующими большой объем ресурсов, поскольку
все переменные и объекты автоматически уничтожаются по заверше-
нии сценария.
Простое и иерархическое наследование
Наследование является исключительно полезным средством про-
граммирования, поскольку его применение предотвращает копирова-
ние кода, совместно используемого структурами данных, например
общих характеристик различных типов транспортных средств, упоми-
навшихся в предыдущем абзаце. В общем случае синтаксис наследо-
вания характеристик другого класса в РНР выглядит так:
class Class_name2 extends Class_name1
{
53
Конструкторы позволяют выполнить действия создание объекта
и инициализацию его атрибутов за один этап.
Можно вызвать конструктор, который просто создает объект, но
не инициализирует его атрибуты:
$page = new Web_page;
Объект можно создать при помощи конструктора, определенного
в классе. В этом создается объект класса Web_page и присваивается
значение его атрибуту bgcolor:
$page = new Web_page("brown");
Деструкторы
Как упоминалось ранее, в РНР отсутствует непосредственная
поддержка деструкторов. Тем не менее можно легко имитировать ра-
боту деструктора, вызывая функцию РНР unset( ). Эта функция унич-
тожает содержимое переменной и возвращает занимаемые ею ресурсы
системе. С объектами unset( ) работает так же, как и с переменными.
Допустим, работаем с объектом $Web_page. После завершения работы
с этим конкретным объектом вызывается функция
unset($Web_page);
Эта команда удаляет из памяти все содержимое $Web_page. Дей-
ствуя в духе инкапсуляции, можно поместить вызов unset( ) в метод с
именем destroy( ) и затем вызвать его:
$Website->destroy( );
Необходимость в вызове деструкторов возникает лишь при рабо-
те с объектами, использующими большой объем ресурсов, поскольку
все переменные и объекты автоматически уничтожаются по заверше-
нии сценария.
Простое и иерархическое наследование
Наследование является исключительно полезным средством про-
граммирования, поскольку его применение предотвращает копирова-
ние кода, совместно используемого структурами данных, например
общих характеристик различных типов транспортных средств, упоми-
навшихся в предыдущем абзаце. В общем случае синтаксис наследо-
вания характеристик другого класса в РНР выглядит так:
class Class_name2 extends Class_name1
{
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »
