Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VMIP.docx
Скачиваний:
18
Добавлен:
17.04.2015
Размер:
93.59 Кб
Скачать

17. Обработка исключительных ситуаций.

Исключительные ситуации в Delphi встречаются постоянно. Исключительная ситуация это такая ситуация, в результате которой генерируется ошибка, и выполнение программы прерывается. Именно потому такая ситуация и называется исключительной. Например, деление на ноль - классический пример исключительной ситуации.    Вот как выглядит оператор контроля исключительных ситуаций: try    основные операторы фрагмента; except    альтернативный вариант фрагмента; end;

Вначале производится попытка выполнить операторы секции try/except, содержащие основной вариант программы. При возникновении в каком-либо операторе этой секции исключительной ситуации остальные операторы секции пропускаются, и выполняется секция except/end. Если всё "проходит штатно", то секция except/end пропускается.    Ещё один вариант оператора контроля исключительных ситуаций применяется, когда необходимо, чтобы определённый фрагмент кода выполнился в любом случае, возникла исключительная ситуация или нет: try    операторы finally    заключительные действия end;    Основные операторы, находящиеся в секции try, могут пройти штатно, или вызвать исключительную ситуацию. Операторы заключительных действий, находящиеся в секции finally, будут выполнены в любом случае.

18. Многомерные массивы. Компонент StringGrid, его свойства. Ошибки при использовании массивов.

 StringGrid - компонент для отображения различных данных в табличной форме. Как следует из названия, ячейки компонента StringGrid Delphi могут содержать данные, имеющие тип String, а также отображать графику.

   Таблица StringGrid состоит из выделенных серым FixedCols и FixedRows - зафиксированных ячеек-заголовков, и обычных, белых ячеек. Содержимое Fixed ячеек недоступно редактированию, и меняется только программно. За возможность редактирования обычных ячеек отвечает одно из значений свойства Options.  Итак, компонент StringGrid имеет возможность адресации каждой отдельной ячейки по номеру столбца и строки. Содержимое ячейки (i, j), где где i - номер столбца, j - номер строки, имеет вид StringGrid1.Cells[i, j]

   Количество строк в Delphi StringGrid равно StringGrid1.RowCount.    Количество столбцов в Delphi StringGrid равно StringGrid1.ColCount.

RowHeights - массив, содержащий высоты строк. То есть, например, RowHeights[5] - высота строки с индексом 5 ColWidths - массив, содержащий ширины столбцов. То есть, например, ColWidths[5] - ширина строки с номером 5

25. Концепция объектно-ориентированного программирования. Класс. Объект. Метод. Динамическое создание компонента на форме.

Концепцию ООП характеризует следующее:

  1. В качестве строительных блоков разрабатываемых приложений используются объекты.

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

  3. Каждый объект – переменная, являющаяся представителем (экземпляром) определённого класса.

  4. Классы связаны друг с другом соотношениями, с помощью которых объекты могут расширяться; при этом описания существующих объектов мо-гут многократно использоваться при описании новых объектов.

  5. Представителями класса могут быть представители, как непосредственного класса, так и любого класса предка.

Класс

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

Переменные в зависимости от предназначения именуются полями или свойствами. Процедуры и функции класса – методами. Соответствующий классу тип называется объектным типом.

Пример объявления простого класса:

type

TPerson = class (TObject)

private

fname: string[15]; faddress: string[35];

public

procedure Show;

end;

 

TPerson – это имя класса, fname и faddress – имена полей, show – имя метода.

Согласно принятому в Delphi соглашению, имена полей должны начинаться с буквы f (от слова field – поле).

Описание класса помещают в программе в раздел описания типов (type).

 

Тексты на Object Pascal представляются в виде модулей (pas – файлов). Классы могут быть объявлены в секции интерфейса (interface) или в секции реализации (implementation) модуля. Определение классов внутри подпрограмм и других блоков не допускается.

Объект или экземпляр объекта – это конкретный экземпляр, созданный в соответствии с его объявлением с помощью класса.

Объект может содержать другой объект. Например, объект формы может содержать объкт кнопки.

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

Переменная типа класс – это переменная объектного типа и называется экземпляром класса или объектом.

Поля

Поля – это данные, уникальные для каждого экземпляра класса. Они предназначены для хранения данных во время работы экземпляра класса (объекта). Поле объявляется как обычная переменная и может быть любого типа. В описании класса поля должны предшествовать методам и свойствам.

Для защиты полей целесообразно объявлять их в защищённом разделе (например, в Private).

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

Поля и методы у разных объектов одного типа одни и те же. Методы – это процедуры и функции, определённые внутри класса и предназначенные для операций над полями и свойствами.

В Delphi у всех стандартных классов все поля недоступны и заменены базирующимися на них свойствами. Свойства компонентов Delphi определяют их внешний вид и поведение.

 

Свойства

Свойства – это высокоуровневые атрибуты компонентов класса.

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

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

 

Методы

Метод – это подпрограмма (процедура или функция), которая определена как элемент класса. Описание метода аналогично описанию обычной подпрограммы модуля. Внутри одного класса можно объявить столько методов, сколько надо.

 

Концепция ООП базируется на трёх основных принципах:

-         инкапсуляция;

-         полиморфизм;

-         наследование.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]