Новые книги

Подробно, доступно и с юмором рассматривается создание современной интернет-графики и анимации с помощью пакета Macromedia Flash Professional 8. Описываются основные инструменты рисования и правки графики, использование слоев, образцов и библиотек, работа с текстом, импорт графики, видео и звука. Рассмотрен процесс производства фильмов стандартными, и весьма богатыми, средствами Flash. Также приводятся краткое описание встроенного языка программирования Flash — Action Script — и методика его применения для разработки интерактивных элементов. Рассказывается о публикации готового изображения или фильма для распространения через Интернет.
Книга "Введение в QNX/Neutrino 2» откроет перед вами в мельчайших подробностях все секреты ОСРВ нового поколения от компании QNX Software Systems Ltd (QSSL) — QNX/Neutrino 2. Книга написана в непринужденной манере, легким для чтения и понимания стилем, и поможет любому, от начинающих программистов до опытных системотехников, получить необходимые начальные знания для проектирования надежных систем реального времени, от встраиваемых управляющих приложений до распределенных сетевых вычислительных систем

В книге подробно описаны основные составляющие ОС QNX/Neutrino и их взаимосвязи. В частности, уделено особое внимание следующим темам:

• обмен сообщениями: принципы функционирования и основы применения;

• процессы и потоки: базовые концепции, предостережения и рекомендации;

• таймеры: организация периодических событий в программах;

• администраторы ресурсов: все, что относится к программированию драйверов устройств;

• прерывания: рекомендации по эффективной обработке.

В книге представлено множество проверенных примеров кода, подробных разъяснений и рисунков, которые помогут вам детально вникнуть в и излагаемый материал. Примеры кода и обновления к ним также можно найти на веб-сайте автора данной книги, www.parse.com.

extends

Учебник РНР
Назад Глава 13. Классы и Объекты Вперёд

extends

Часто бывает нужно использовать классы с аналогичными переменными и функциями в другом существующем классе. На практике было бы удобно определять общий/generic класс, который можно было бы использовать во всех ваших проектах и адаптировать этот класс для нужд каждого конкретного проекта. Для облегчения этого процесса классы могут быть расширениями других классов. Расширяющий класс имеет все переменные и функции базового класса (это называется 'наследование/inheritance', хотя никто не умер...) и то, что вы добавили в расширенном определении. Из наследуемого класса невозможно ничего изъять, то есть разопределить любую существующую функцию или переменную. Расширяющий класс всегда зависит от единственного базового класса, то есть множественное наследование не поддерживается. Классы расширяются при помощи ключевого слова 'extends'.

class Named_Cart extends Cart
{
    var $owner;
  
    function set_owner ($name)
    {
        $this->owner = $name;
    }
}

Здесь определён класс Named_Cart, который содержит все переменные и функции класса Cart плюс дополнительную переменную $owner и дополнительную функцию set_owner().
Вы создаёте named cart как обычно и можете устанавливать и получать владельца cart. Вы можете использовать функции как обычного cart, так и named carts:

$ncart = new Named_Cart;    // создаём named cart
$ncart->set_owner("kris");  // именуем cart
print $ncart->owner;        // печатаем имя владельца cart
$ncart->add_item("10", 1);  // (функциональность, унаследованная от cart)

Это также называется отношениями "parent-child/родитель-потомок". Вы создаёте класс-родитель и используете extends для создания нового класса-потомка на базе класса-предка. Вы можете затем использовать этот новый класс-потомок как базовый для создания ещё одного нового класса.

Примечание: классы обязаны быть определены перед их использованием! Если вы хотите, чтобы класс Named_Cart расширял класс Cart, вы сначала должны определить класс Cart. Если вы хотите создать новый класс Yellow_named_cart на базе класса Named_Cart, вы должны сначала определить Named_Cart. Короче говоря: важен порядок определения классов.


Назад Оглавление Вперёд
Классы и Объекты Вверх Конструкторы