W Cat - Описание языка PascalABC.NET

Тут можно читать онлайн W Cat - Описание языка PascalABC.NET - бесплатно полную версию книги (целиком) без сокращений. Жанр: Детская образовательная литература. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

W Cat - Описание языка PascalABC.NET краткое содержание

Описание языка PascalABC.NET - описание и краткое содержание, автор W Cat, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru


PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.


PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.


PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.

Описание языка PascalABC.NET - читать онлайн бесплатно полную версию (весь текст целиком)

Описание языка PascalABC.NET - читать книгу онлайн бесплатно, автор W Cat
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// s -= s1 эквивалентно s := s - s1

// s *= s1 эквивалентно s := s * s1

s += [3..6]; // s = [2..6]

s -= [3]; // s = [2,4..6]

s *= [1..5]; // s = [2,4..5]

end.

К множествам с базовыми элементами одного типа применимы также операции сравнения = (равенство), <> (неравенство), <= (нестрого вложено), < (строго вложено), >= (нестрого содержит) и > (строго содержит):

[1..3] = [1,2,3]

['a'..'z'] <> ['0'..'9']

[2..4] < [1..5]

[1..5] <= [1..5]

[1..5] > [2..4]

[1..5] >= [1..5]

Но неверно, что [1..5] < [1..5].

Наконец, операция inопределяет, принадлежит ли элемент множеству: 3 in[2..5] вернет True, 1 in[2..5] вернет False.

Операция @

Операция @ применяется к переменной и возвращает ее адрес. Тип результата представляет собой типизированный указатель на тип переменной. Например:

var

r: real;

pr: ^real := @r;

Операции is и as

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

Операция isимеет вид:

a is ClassType

и возвращает True если a принадлежит к классу ClassType или одному из его потомков.

Например, если Base и Derived - классы, причем, Derived - потомок Base, переменные b и d имеют соответственно типы Base и Derived, то выражения b isBase и d isBase возвращают True, а b isDerived - False.

Операция asимеет вид:

a as ClassType

и возвращает ссылку на объект типа ClassType если преобразование возможно, в противном случае возвращает nil.

Например, в программе

type

Base = class

end;

Derived = class(Base)

procedurep;

begin

end;

end;

varb: Base;

begin

b := new Base;

writeln(b isDerived);

b := new Derived;

writeln(b isDerived);

end.

первый раз выводится False, второй - True.

Операции isи asиспользуются для работы с переменной базового класса, содержащей объект производного класса.

1 способ.

ifb isDerived then

Derived(b).p;

2 способ.

vard: Derived := b asDerived;

d.p;

Операция new

Операция newимеет вид:

new ИмяКласса ( ПараметрыКонструктора )

Она вызывает конструктор класса ИмяКласса и возвращает созданный объект.

Например:

type

My = class

constructorCreate(i: integer);

begin

end;

end;

varm: My := newMy(5);

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

varm: My := My.Create(5);

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

varm := newMy(5);

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

Операции typeof и sizeof

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

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

type

Base = class... end;

Derived = class(Base) ... end;

varb: Base := new Derived;

begin

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

end.

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

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

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

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

Пример.

type

pinteger = ^integer;

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

vari: integer;

b: byte;

p: pointer := @i;

s: Season;

begin

i := integer('z');

b := byte(i);

i := pinteger(p);

s := Season(1);

end.

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

Пример.

vari: integer := 5;

begin

var o: Object := Object(i);

end.

Приоритет операций

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

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

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

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

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

2

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

3

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

4 (низший)

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

Операторы

Операторы: обзор

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

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

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

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

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

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

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

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

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

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

Оператор try except

Оператор try finally

Оператор raise

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

Оператор goto

Оператор lock

Оператор with

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

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

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

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

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

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

Например:

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

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

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

Например:

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

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


W Cat читать все книги автора по порядку

W Cat - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Описание языка PascalABC.NET отзывы


Отзывы читателей о книге Описание языка PascalABC.NET, автор: W Cat. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x