
- •С примерами на Object pascal (72 часа)
- •Введение
- •1.1. Основной принцип структурного программирования
- •"Инкапсуляция времени выполнения" — полное отсутствие.
- •"Структурные типы" —хорошо;
- •1.2. Основные задачи структурного программирования
- •1.3. Основные принципы объектно-ориентированного программирования (ооп)
- •2.1. Алфавит языка pascal. Идентификаторы.
- •2.2. Простые и составные специальные символы, используемые на пк.
- •2.3. Стандартные типы данных. Двоичное представление чисел и дополнительный код.
- •2.4. Особенности работы с некоторыми типами данных
- •2.5. Арифметические операторы.
- •2.6. Логические операторы и операции отношения.
- •2.7. Потеря точности, потеря порядка и переполнение при арифметических операциях.
- •2.8. Структура простейшей программы.
- •2.9. Простейшие операторы языка Object pascal
- •1) Цикл от меньшего к большему значению:
- •2) Цикл от большего к меньшему значению:
- •2.10. Структурные типы данных
- •2.11. Указатели. Динамические переменные. Динамическое выделение и высвобождение памяти
- •2.12. Процедуры и функции. Формальные и фактические параметры. Передача параметров по ссылке, по значению и через указатель.
- •2.13. Локальные и глобальные переменные. Побочный эффект функции. Вложенность процедур и функций. Правила видимости.
- •2.14. Пример на правила видимости и передачи параметров
- •2.15. Рекурсия
- •2.1. Инкапсуляция. Объект. Поля данных и методы объекта
- •3.2 Задание модуль класса (статическая объектная модель)
- •4.10. Создание и уничтожение объектов. Конструкторы и деструкторы.
- •4.11. Наследование. Статические, виртуальные, динамические и абстрактные методы.
- •4.12. Области видимости объектов.
- •4.13. Обработка исключительных ситуаций.
- •4.14. Специальные средства для работы с ms Windows: сообщения.
- •4.15. События и их делегирование. Обработка событий.
- •4.16. Методы класса и указатели на класс.
- •4.17. Дополнительные возможности Object Pascal.
- •5. Визуальное проектирование в среде Delphi.
- •5.8. Создание экранных форм. Инспектор объектов.
- •5.9. Палитра компонентов.
- •6. Интерфейсы и множественное наследование
- •6.1. Общие представления об интерфейсах в Object pascal
- •6.2. Реализация интерфейсов свойством
- •6.3. Различение имен при реализации нескольких интерфейсов
- •5.11. Спецификаторы вызовов процедур и функций
- •5.12. Динамические массивы
- •5.13. Перезагрузка (overloading) методов, процедур и функций
- •5.14. Параметры по умолчанию
- •5.17. Технологии dde и ole
- •5.18. Технология ActiveX
- •5.20. Использование библиотек OpenGl и glu
- •5.21. Создание программистом собственного компонента Литература
1.3. Основные принципы объектно-ориентированного программирования (ооп)
ООП — это метод программирования, развивающий принципы структурного программирования и основанный на следующих абстракциях данных:
I. Инкапсуляция: объединение данных с процедурами и функциями в единый блок программного кода (данные и методы работы с ними рассматриваются как поля объекта).
II. Наследование (наличие экземпляров класса; потомки, прародители, иерархия).
III. Полиморфизм (единое имя для некого действия, которое по-разному осуществляется для объектов иерархии).
Компонентное программирование:
Реализация объектов в виде независимо распространяемых исполняемых модулей. Известны 2 типа компонентов:
А) Компоненты конкретного языка программирования (Visual BASIC, Object PASCAL, Java). Предназначены преимущественно для поддержки средств визуального проектирования
Б) Компоненты, поддерживаемые на уровне ОС (компоненты Activex, .NET).
Основы языка Object PASCAL.
2.1. Алфавит языка pascal. Идентификаторы.
Основной алфавит языка PASCAL состоит из латинских букв и цифр.
Буквы:
ABCD...XYZ — заглавные (прописные),
abcd...xyz — строчные,
а также знак _ — подчеркивание.
Цифры:
0123456789
Идентификаторы: это имена переменных, процедур, функций меток и т.д. Они начинаются с буквы, далее — произвольная комбинация букв и цифр. Исключение составляют метки, для которых идентификатором может служить положительное целое число. Максимально разрешенная длина имени зависит от реализации и, как правило, не менее 8 символов. В идентификаторах можно применять только символы основного алфавита.
Замечание:
а) Компиляторы PASCAL не являются регистро-чувствительными (case sensitive), т.е. не различают прописные и строчные буквы, т.е. I1 и i1 — одинаковые идентификаторы. Это отличает PASCAL от C, C++, JavaScript и Java, которые регистро-чувствительны. Visual BASIC занимает промежуточное положение: его среда разработки автоматически исправляет регистр для Visual BASIC вопрос о регистро-чувствительности не имеет смысла.
б) Национальные алфавиты можно использовать только в строковых выражениях.
2.2. Простые и составные специальные символы, используемые на пк.
Перечисленный ниже набор несколько расширяет стандарт PASCAL, однако на ПК является стандартом de facto.
Простые специальные символы:
+ |
Плюс – “сложение” |
– |
Минус – “вычитание” |
* |
Звездочка – “умножение” |
/ |
косая черта (slash) – “деление” |
= |
Равно (Замечание: в C-образных языках в качестве этого знака используется = =) |
> |
Больше |
< |
Меньше |
[ |
левая квадратная скобка – открытие индекса массива |
] |
правая квадратная скобка – закрытие индекса массива |
( |
левая круглая скобка |
) |
правая круглая скобка |
{ |
левая фигурная скобка – открытие комментария |
} |
правая фигурная скобка – закрытие комментария |
@ |
коммерческое a (“эт”) – знак адресации |
. |
Точка |
, |
Запятая |
: |
Двоеточие |
; |
точка с запятой |
' |
апостроф (одиночная кавычка) – открытие и закрытие строки символов |
" |
двойные кавычки – не имеет специального назначения |
# |
номер (hash) - не имеет специального назначения |
$ |
знак доллара – используется в 16-ричной нотации чисел |
\ |
обратная косая черта (backslash) - не имеет специального назначения |
^ |
"шляпка" – используется для работы с указателями |
~ |
Тильда - не имеет специального назначения |
|
знак пробела (невидимый) |
|
знак табуляции (невидимый) |
Составные специальные символы:
:= |
Присваивание ( в C-образных языках и BASIC используется знак “ = “) |
<> |
не равно( в C-образных языках используется знак “! =” ) |
.. |
Диапазон значений ( в C-образных языках и BASIC отсутствует) |
(* |
Начало комментария. Замена знаку “{“, но может быть только в комбинации с “*)” - в C-образных языках используется знак “/*” |
*) |
конец комментария. Замена знаку “}”, но может быть только в комбинации с “(*” - в C-образных языках используется знак “*/” |
(. |
Замена знаку “[“, но может быть только в комбинации с “.)” Редко используется. |
.) |
Замена знаку “]”, но может быть только в комбинации с “(.” . Редко используется. |
// |
Однострочный комментарий. |
Специальные символы (простые или составные) служат разделителями в выражениях языка PASCAL. Они не могут входить с состав идентификаторов.
Отсутствующие в Object PASCAL символы, имеющиеся в С-образных языках:
^ - возведение в степень (начиная с Delphi 4 в Object PASCAL есть функция power)
<< - левый побитовый сдвиг (“shl” в Object PASCAL)
>> - правый побитовый сдвиг (“shr” в Object PASCAL)
>>> - правый побитовый сдвиг с сохранением знака отрицательного числа ( в Object PASCAL отсутствует)
Символы формирования текста:
Знак пробела <Space>, табуляции <Tab>, символы перевода на новую строку <LF>, конца страницы <FF>, конца файла <EOF> и другие управляющие символы. Действуют при просмотре исходных текстов языка Object PASCAL и за исключением ряда случаев — в строковых выражениях.