Новые книги

Это книга о русской блогосфере, написанная как документальный роман-френдлента. Ее герои — самые известные, яркие и успешные блогеры Рунета: Антон Носик, Рустем Адагамов, Артемий Лебедев, Линор Горалик, Марта Кетро, Максим Кононенко, Сталик Ханкишиев, Вера Полозкова — восемь человек, которые стали такими, какие они есть, во многом благодаря интернету и которые сделали интернет таким, каким мы знаем его сегодня. Эти восемь человек — во всех смыслах первые лица русской блогосферы — рассказывают о том, как открыли для себя Всемирную паутину, как обустроили ее и приспособили для жизни. Нам, читающим эту френдленту, решать, как в ней жить сегодня.
Отношения с клиентами – это не что-то абстрактное, возникающее само по себе. В секторе B2B существует последовательная система, позволяющая выстроить деловые связи с практически любым клиентом, а значит, успешно продавать и выполнять планы продаж.

Она будет полезна везде, где есть тендеры и корпоративные заказчики: в маркетинге, сфере диджитал, PR, рекламе, юридических, медицинских, страховых и консалтинговых услугах и т. д.

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

Вызов операций

5.4.3. Вызов операций

В языке Eiffel методы называются подпрограммами (routines). При вызове этих подпрограмм им передаются параметры, которые могут иметь простой тип (REAL, INTEGER, BOOLEAN, или CHARACTER) или быть объектами классов, определенных программистом. В подпрограмме не разрешается изменять значения формальных параметров путем присваивания им новых значений или применения к ним операции (такие, как Create, Clone, или Forget), которые могут менять значение объектной ссылки. В то же время остальные операции могут быть применены к объектам, являющимся формальными параметрами, что вызовет изменение состояния указанных объектов.

Синтаксис вызова операции в языке Eiffel такой же, как в языке C++, причем операция '.' языка Eiffel соответствует операции '->' языка C++:

	local
	  aShape: SHAPE;
	  dx, dy: REAL
	do
	  ...
	  aShape.move (dx, dy);
	end

В языке Eiffel определен неявный доступ к свойствам целевого объекта по имени соответствующего свойства. Идентификаторы x и y являются именами атрибутов целевого объекта SHAPE:

	move (deltax, deltay: REAL) is
	-- move a shape by delta
	do
	  x = x + deltax;
	  y = y + deltay
	end

В языке Eiffel имеется предопределенный идентификатор Current, который именует целевой объект операции (он аналогичен идентификаторам this языка C++ и self языка Smalltalk). Поэтому предыдущий фрагмент программы можно записать следующим эквивалентным образом:

	move (deltax, deltay: REAL) is
	-- move a shape by delta
	do
	  Current.x = Current.x + deltax;
	  Current.y = Current.y + deltay
	end

В языке Smalltalk все параметры и переменные являются объектами; все операции являются методами, связанными с этими объектами. Применить операцию к объекту - значит послать этому объекту сообщение, состоящее из имени операции и списка значений ее параметров. Сообщение связывается с объектом во время выполнения программы (динамически), рассматривается класс соответствующего объекта и находится соответствующая операция в этом классе или в его предках (по наследованию). Формальные параметры метода запрещено изменять внутри метода с помощью присваиваний. Синтаксис обращения к операции (посылки сообщения) следующий:

	aShape moveDelta: aPoint
	Этот метод можно реализовать следующим образом:
	class name Shape
	instance variables
	  x  y
	instance methods
	moveDelta: aPoint
	  x <- x + aPoint x
	  y <- y + aPoint y

Внутри метода разрешен непосредственный доступ по имени к атрибутам целевого объекта операции (в языке Smalltalk атрибуты называются переменными объекта (instance variables)).

Как уже упоминалось, в языке Smalltalk предопределена псевдо-переменная self, именующая целевой объект (получатель сообщения).

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