ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »