Читаем Описание языка PascalABC.NET полностью

type

My = class

constructor Create(i: integer);

begin

end;

end;

var m: My := new My(5);

Эквивалентным способом создания объекта является вызов конструктора в стиле Object Pacal:

var m: My := My.Create(5);

Создание объекта класса при инициализации переменной проще проводить, используя автоопределение типа:

var m := new My(5);

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

<p>Операции typeof и sizeof</p>

Операция sizeof(имя типа) возвращает для этого типа его размер в байтах.

Операция typeof(имя типа) возвращает для этого типа объект класса System.Type. Приведем пример использования typeof:

type

Base = class ... end;

Derived = class(Base) ... end;

var b: Base := new Derived;

begin

writeln(b.GetType = typeof(Derived));

end.

<p>Операция явного приведения типов</p>

Операция явного приведения типов имеет вид

ИмяТипа(выражение)

и позволяет преобразовать выражение к типу ИмяТипа. Тип выражения и тип с именем ИмяТипа должны оба принадлежать либо к порядковому типу, либо к типу указателя, либо один тип должен быть наследником другого, либо тип выражения должен поддерживать интерфейс с именем ИмяТипа. В случае указателей запрещено преобразовывать типизированный указатель к типу указателя на другой тип.

Пример.

type

pinteger = ^integer;

Season = (Winter,Spring,Summer,Autumn);

var i: integer;

b: byte;

p: pointer := @i;

s: Season;

begin

i := integer('z');

b := byte(i);

i := pinteger(p);

s := Season(1);

end.

При приведении размерных типов к типу Object происходит упаковка.

Пример.

var i: integer := 5;

begin

var o: Object := Object(i);

end.

<p>Приоритет операций</p>

Приоритет определяет порядок выполнения операций в выражении. Первыми выполняются операции, имеющие высший приоритет. Операции, имеющие одинаковый приоритет, выполняются слева направо.

Таблица приоритетов операций

@, not, ^, +, - (унарные), new

1 (наивысший)

*, /, div, mod, and, shl, shr, as, is

2

+, - (бинарные), or, xor

3

=, <>, <, >, <=, >=, in, =

4 (низший)

Для изменения порядка выполнения операций в выражениях используются скобки.

<p>Операторы</p><p>Операторы: обзор</p>

В PascalABC.NET определены следующие операторы.

Операторы присваивания

Составной оператор

Оператор описания переменной

Оператор цикла for

Оператор цикла foreach

Операторы цикла while и repeat

Условный оператор if

Оператор выбора варианта case

Оператор вызова процедуры

Оператор try except

Оператор try finally

Оператор raise

Операторы break, continue и exit

Оператор goto

Оператор lock

Оператор with

Пустой оператор

<p>Оператор присваивания</p>

Оператор присваивания имеет вид:

переменная := выражение

В качестве переменной может быть простая переменная, разыменованный указатель, переменная с индексами или компонент переменной типа запись. Символ := называется значком присваивания. Выражение должно быть совместимо по присваиванию с переменной.

Оператор присваивания заменяет текущее значение переменной значением выражения.

Например:

i := i + 1; // увеличивает значение переменной i на 1

В PascalABC.NET определены также операторы присваивания со значками +=, -=, *=, /=. Для числовых типов действие данных операторов описано здесь. Кроме того, использование операторов += и *= для строк описано здесь и операторов +=, -= и *= для множеств - здесь. Их действие для процедурных переменных описано здесь.

Операторы +=, -=, *=, /= имеют следующий смысл: a #= b означает a := a # b, где # - знак операции +, -, *, /.

Например:

a += 3; // увеличить a на 3

b *= 2; // увеличить b в 2 раза

Опертор /= неприменим, если выражение слева - целое.

Операторы +=, -=, *=, /= могут также использоваться со свойствами классов соответствующих типов в левой части.

<p>Составной оператор (блок)</p>

Составной оператор предназначен для объединения нескольких операторов в один. Он имеет вид:

begin

операторы

end

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных