Новые книги

В книге?–?описание современных приемов успешных продаж, которые обычно держатся в секрете или раскрываются лишь на дорогостоящих тренингах и семинарах. Автор книги?–?успешный продавец, бизнес-консультант. В отличие от теоретиков торговли, он прекрасно знает то, о чем говорит и пишет: на протяжении более двадцати лет он продавал все?–?от кирпичей до самолетов! Все главы книги представляют собой идеальное руководство для обучения ремеслу успешной торговли. Готовыми рецептами и конкретными решениями вы сможете воспользоваться буквально через несколько минут чтения этой книги!
Доктор психологических наук Сьюзан Уэйншенк написала продолжение своего легендарного бестселлера «100 главных принципов дизайна», используя последние открытия в области психологии, нейропсихологии, исследований мозга и социальной психологии. С момента выхода первой книги появились исследования, ставящие перед дизайнером новые задачи. «100 новых главных принципов дизайна» продолжают открывать тайны психологии, нейрофизиологии и исследований мозга и предлагают вам сжатые практичные советы, которые позволят создавать удобный и привлекательный дизайн, отвечающий неосознанным требованиям людей.

Узнайте, как повысить эффективность ваших веб-сайтов, приложений, дизайна и продуктов, найдя в книге ответы на следующие вопросы:

• Как заинтересовать зрителя рекламным роликом?

• Какое количество текста на экране люди готовы прочитать?

• Как одним простым приемом усилить правдоподобность вашего контента?

• Когда лучше НЕ давать аудитории выбор?

• Почему смех помогает в обучении детей?

• Облегчают ли шрифты восприятие информации?

• На каком месте экрана смартфона нельзя размещать меню?

• Каким образом человеческий мозг обрабатывает большие объемы данных?

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. Короче говоря: важен порядок определения классов.


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