Новые книги

Тамара Воротынцева – директор по развитию тренинговой компании «БИЗНЕС ПАРТНЕР» (Москва). Практикующий бизнес-тренер, автор книги «Строим систему обучения персонала» и публикаций в деловых изданиях России, Казахстана и Украины. Создатель интернет-рассылки: «E-mail переписка в бизнесе» на сервере subscribe.ru! Книга является практическим пособием для деловых людей, ведущих активную переписку с клиентами и партнерами. В ней представлены инструменты, которые помогут сделать электронное общение эффективным, оптимальным по времени и результату, максимально соответствующим нормам и правилам, принятым в современном деловом сообществе. Автор дает практические советы, иллюстрирует свои наблюдения случаями из жизни, приводит аргументированные выводы. Текст книги богат узнаваемыми примерами реальной деловой переписки. Автор делится своими наблюдениями, приемами, «хитростями», которые способны существенно повлиять на эффективность и результативность делового электронного письма. Если вы – деловой человек и для вас важно писать оперативно, лаконично, грамотно, в соответствии в правилами хорошего делового тона, – эта книга станет вам надежным помощником.
Цель книги – познакомить читателей с существующими подходами и решениями в области моделирования бизнес-архитектуры предприятия. В книге освещаются различные аспекты данной проблематики, в том числе такие вопросы как базовые подходы к моделированию и возможности современных инструментальных средств.

Особое внимание уделяется специфике организации проектов по разработке моделей бизнес-архитекуры. На основе практического опыта реализации проектов по моделированию бизнес-процессов в различных предметных областях проанализированы и обобщены типичные риски, ошибки и заблуждения основных участников, даны рекомендации по их предупреждению. Проиллюстрированы частные подходы и решения, например, моделирование бизнес-процессов в среде ARIS. С учетом современных тенденций в развитии технологий и управления бизнесом сформулированы перспективные направления практического использования методологии и инструментальных моделирования бизнес-процессов.

Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

Использование наследования



5.3.4. Использование наследования

В языке C++ наследование устанавливается только при составлении программы и не может быть изменено в процессе ее выполнения. Поведение каждого объекта полностью определяется классом этого объекта и одинаково для всех объектов данного класса. Все характеристики наследования одинаковы для всех объектов каждого класса.

Список суперклассов (если он не пуст) указывается в начале определения каждого класса; подкласс называется также производным классом. В следующем примере приведено описание класса Item, а также описания подкласса Shape класса Item и подклассов Box и Circle класса Shape:

	class Item
	{
	public:
	  virtual void cut ();
	  virtual void move (Length deltax, Length deltay) = 0;
	  virtual Boolean pick (Length px, Length py) = 0;
	  virtual void ungroup () = 0;
	};
	class Shape: public Item
	{
	protected:
	  Length x;
	  Length y;
	public:
	  void cut ();
	  void draw () {write (COLOR_FOREGROUND);};
	  void erase (); {write (COLOR_BACKGROUND);};
	  void move (Length deltax, Length deltay);
	  Boolean pick (Length px, Length py) = 0;
	  void ungroup () { };
	  virtual void write (Color color) = 0;
	};
	class Box: public Shape
	{
	protected:
	  Length width;
	  Length height;
	public:
	  Box (Length x0, Length y0, Length width0, Length height0);
	  Boolean pick (Length px, Length py);
	  void write (Color color);
	};
	class Circle: public Shape
	{
	protected:
	  Length radius;
	public:
	  Circle (Length x0, Length y0, Length radius0);
	  Boolean pick (Length px, Length py);
	  void write (Color color);
	};

Члены суперкласса (атрибуты и операции) наследуются его подклассами (члены, определенные в суперклассе, имеются у всех его подклассов). Члены суперкласса, определенные в нем как private, недоступны для операций его подклассов; для операций подклассов доступны члены суперкласса, определенные в нем protected и как public. Методы, определенные в суперклассе, могут быть переопределены в (некоторых) его подклассах, если они определены как виртуальные (virtual). Например, метод write класса Shape может быть переопределен в его подклассах Box и Circle, поэтому он определен как виртуальный; методы и в подклассах не переопределяются, поэтому их можно не объявлять как виртуальные. Если в определении виртуального метода указана его "инициализация" к 0 (virtual void write (Color color) = 0;), то он обязательно должен быть переопределен в каждом его подклассе (такой метод называется абстрактным). Класс, содержащий хотя бы один абстрактный метод, также называется абстрактным. Для абстрактных классов нельзя порождать объекты (объекты определены только для его подклассов). Если все методы класса определены как абстрактные, то говорят, что такой (абстрактный) класс определяет интерфейс, реализуемый в его подклассах.

В языке C++ поддерживается множественное наследование: каждый класс может иметь один или несколько суперклассов.

Назад | Содержание | Вперед