
- •Часть 2
- •Оглавление
- •1. Структурный подход к программированию
- •1.1. Цели структурного программирования
- •1.2. Основные принципы структурного подхода
- •1.3. Спецификация программ
- •1.4. Метод пошаговой детализации
- •2. Предыстория объектно-ориентированного программирования
- •2.1. Введение в объектно-ориентированное программирование
- •2.2. Тип Объекты
- •2.3. Основные понятия ооп. Инкапсуляция. Наследование
- •X, y : integer; {координаты позиции}
- •XX,yy:array [1..1000] of integer;
- •2.4. Совместимость объектных типов по присваиванию
- •2.5. Описание типа-потомка
- •2.6. Полиморфизм
- •2.7. Виртуальные методы. Конструкторы и деструкторы
- •2.7.1. Правила работы с виртуальными методами
- •3. Типы данных и операторы языка object pascal в delphi
- •3.1. Предопределенные типы данных
- •3.1.1 Вещественные типы
- •3.1.2. Длинные строки
- •3.2. Структурированные типы
- •3.2.1. Множества
- •Var MySet: set of 'a'..'z';
- •3.2.2. Массивы
- •Var FlexArray: array of Real;
- •Var Ints: array of array of Integer;
- •3.2.3. Записи
- •Var Record1,Record2:tDateRec;
- •3.2.4. Указатели
- •I: Integer;
- •V1,v2,v3,v4,v5:Variant;
- •I:Integer;
- •3.3. Типы данных, специфичные для Windows
- •3.3.1. Приведение и преобразование типов
- •3.4. Операторы языка Паскаль
- •I:Integer;
- •I:Integer;
- •3.4.1. Элементы управления редактированием
- •3.5. Процедуры и функции библиотеки vcl
- •4. Реализация ооп на языке pascal
- •V: Real;
- •Наследование
- •Virtual;
- •Конструкторы и деструкторы
- •Перекрытие методов
- •5. Программирование в среде delphi
- •5.1. Основные элементы
- •5.2. Реализация объектно-ориентированного программирования
- •5.3. Разработка интерфейса приложения
- •5.3.1. Создание простейшего Windows-приложения
- •5.3.2. Создание Windows-приложения с метками и кнопками
- •Объект Свойство Значение
- •6.1.3. Меню Edit
- •6.1.4. Меню Search
- •6.1.5. Меню View
- •6.1.6. Меню Run
- •6.1.7. Меню Component
- •6.1.8. Меню Tools
- •6.1.9. Полоска кнопок быстрого доступа SpeedBar
- •6.1.10. Локальные меню. SpeedMenu
- •6.2. Работа с формами
- •6.2.1. Палитра компонентов
- •6.2.2. Object Inspector
- •6.2.3. Написание кода
- •6.2.4. Компиляция проекта
- •6.2.5. Интегрированный отладчик
- •6.2.6. Файлы, создаваемые системой
- •7. Структура delphi-программ
- •7.1. Разработка проекта Dialog
- •7.2. Процедуры вызова диалоговых окон
- •7.3. Преобразования типов
- •Var factW,optW,Rost,Delta:integer;
- •Var factW,optW,Rost,Delta:real;
- •7.4. Простейшие компоненты
- •7.4.1. Группы радиокнопок - компоненты RadioGroup, RadioButton, GroupBox
- •7.4.2. Компоненты выбора из списков - ListBox, ComboBox
- •7.4.3. Многострочные окна редактирования Memo и Richedi
- •7.4.4. Графические объекты
- •If OpenDialog1.Execute
- •Image1.Picture.LoadFromFile
- •7.4.5. Канва и пиксели
- •X, y :real; // координаты функции
- •7.4.6. Воспроизведение немых видео клипов – компонент Animate
- •7.4.7. Установка и настройка приложения: работа с файлами *.Ini
- •IniFile.Free;
- •Упражнения
- •8. Репозиторий объектов и эксперты
- •8.1. Страницы репозитория объектов
- •8.1.1. Страница New
- •8.1.2. Страница Forms
- •8.1.3. Страница Dialogs
- •8.1.4. Страница Data Modules
- •8.1.5. Страница Projects
- •8.2. Эксперты Delphi
- •8.2.1. Application Expert
- •8.2.2. Dialog Box Expert
- •9. Классы и модули
- •9.1. Классы и сокрытие информации
- •9.2. Классы и модули
- •9.3. Модули и область видимости
- •9.4. Модули и программы
- •9.5. Информация о типе на этапе выполнения
- •If MyAnimal is Dog then …
- •If MyAnimal is Dog
- •If MyAnimal is Dog then
- •10. Использование компонентов
- •10.1. Буксировка из одного компонента в другой
- •10.2. Обработка исключений
- •10.3. Восприятие ввода для пользователя
- •Val( Edit1.Text,Number,Code);
- •Val((Sender as tEdit).Text,Number,Code);
- •11.2. Различные роли элементов меню
- •11.3. Редактирование меню с помощью Menu Designer
- •If OpenDialog1.Execute
- •If SaveDialog1.Execute
- •Procedure tForm1.ViewEdit1Click(Sender:tObject); begin
- •If Panel1.Visible
- •If Buttons1.Enabled
- •12. Получение «ввода от мыши» и рисование в форме
- •12.1. События, связанные с мышью
- •12.2. Рисование в форме
- •If ssShift in Shift
- •If Circle then Canvas.Ellipse(Center.X-Radius.X,Center.Y-
- •Else Canvas.Rectangle(Center.X-Radius.X,Center.Y-
- •12.3. Черчение и рисование в системе Windows
- •13. Инструментальная линейка и строка состояния
- •13.1. Построение инструментальной линейки
- •Procedure tForm1.SpeedButton1Click(Sender:tObject); begin
- •If SpeedButton1.Down
- •13.2. Добавление всплывающих подсказок в линейку
- •13.3. Комбинированный список в инструментальной линейке
- •13.4. Построение строки состояния
- •14.1. Добавление второй формы в программу
- •14.2. Создание диалоговой панели
- •Задание № 1
- •Procedure tForn1.BitBtnClick(Sender:tObject); begin PageControl1.SelectNextPage(true);
- •Do ListBox1.Items.Add(PageControl1.Page[I].Caption);
- •14.3.1. Блокнот с набором ярлыков
- •If FontDialog1.Execute
- •15.2. Жизненный цикл программного средства
- •15.3. Понятие качества программного средства
- •15.4. Обеспечение надежности основной мотив разработки программных средств
- •15.4.1. Методы борьбы со сложностью
- •15.4.2. Обеспечение точности перевода
- •15.4.3. Преодоление барьера между пользователем и разработчиком
- •15.4.4. Контроль принимаемых решений
- •Литература
- •Часть 2. Объектно-ориентированное программирование
МПС РОССИИ
Государственное образовательное учреждение
высшего профессионального образования
«Ростовский государственный университет путей сообщения
Министерства путей сообщения Российской Федерации»
(РГУПС)
Г.В. Козлов, В.Н. Смоляков
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ
Учебное пособие
Часть 2
ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
Утверждено
методическим советом университета
Ростов-на-Дону
2003
УДК 681.3.06
Козлов Г.В., Смоляков В.Н.
Программирование на языке высокого уровня: Учебное пособие Ч. 2. Объектно-ориентированное программирование / Под общ. ред. Е.М. Ульяницкого. Ростов н/Д: Рост. гос. ун-т путей сообщения, 2003. 102 с.
Изложены сведения об основах объектно-ориентированного программирования, а также об особенностях программирования в среде DELPHI и разработки DELPHI-приложений. Теоретический материал иллюстрируется большим числом примеров.
Предназначено для студентов специальностей 220100 «Вычислительные машины, комплексы, системы и сети» и 071900 «Информационные системы в технике и технологиях», изучающих дисциплины «Технология программирования» и «Программирование на языке высокого уровня», а также может быть использовано студентами всех специальностей университета для самостоятельного изучения языка Паскаль и освоения основных приемов программирования в среде DELPHI.
Табл. 7. Ил. 14. Библиогр.: 11 назв.
Рецензенты: д-р техн. наук, проф. Н.А. Целигоров (ВГАВТ);
канд. техн. наук Т.М. Линденбаум (РГУПС)
© Ростовский государственный университет
путей сообщения, 2003
Оглавление
1. СТРУКТУРНЫЙ ПОДХОД К ПРОГРАММИРОВАНИЮ 4
1.1. Цели структурного программирования 4
1.2. Основные принципы структурного подхода 5
1.3. Спецификация программ 6
1.4. Метод пошаговой детализации 7
2. ПРЕДЫСТОРИЯ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ 8
2.1. Введение в объектно-ориентированное программирование 9
2.2. Тип Объекты 9
2.3. Основные понятия ООП. Инкапсуляция. Наследование 10
2.4. Совместимость объектных типов по присваиванию 13
2.5. Описание типа-потомка 13
2.6. Полиморфизм 14
2.7. Виртуальные методы. Конструкторы и деструкторы 16
3. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ ЯЗЫКА OBJECT PASCAL В DELPHI 18
3.1. Предопределенные типы данных 18
3.2. Структурированные типы 21
3.3. Типы данных, специфичные для Windows 24
3.4. Операторы языка Паскаль 25
3.5. Процедуры и функции библиотеки VCL 28
4. РЕАЛИЗАЦИЯ ООП НА ЯЗЫКЕ PASCAL 29
5. ПРОГРАММИРОВАНИЕ В СРЕДЕ DELPHI 33
5.1. Основные элементы 33
5.2. Реализация объектно-ориентированного 34
программирования 34
5.3. Разработка интерфейса приложения 36
6. КОМПОНЕНТЫ СРЕДЫ DELPHI 44
6.1. Меню и команды Delphi 44
6.2. Работа с формами 46
7. СТРУКТУРА DELPHI-ПРОГРАММ 51
7.1. Разработка проекта Dialog 52
7.2. Процедуры вызова диалоговых окон 54
7.3. Преобразования типов 54
7.4. Простейшие компоненты 57
8. РЕПОЗИТОРИЙ ОБЪЕКТОВ И ЭКСПЕРТЫ 66
8.1. Страницы репозитория объектов 66
68
8.2. Эксперты Delphi 68
9. КЛАССЫ И МОДУЛИ 69
9.1. Классы и сокрытие информации 69
9.2. Классы и модули 70
9.3. Модули и область видимости 71
9.4. Модули и программы 71
9.5. Информация о типе на этапе выполнения 71
10. ИСПОЛЬЗОВАНИЕ КОМПОНЕНТОВ 73
10.1. Буксировка из одного компонента в другой 73
10.2. Обработка исключений 74
10.3. Восприятие ввода для пользователя 75
11. СОЗДАНИЕ И ОБРАБОТКА МЕНЮ 76
11.1. Структура меню 76
11.2. Различные роли элементов меню 77
11.3. Редактирование меню с помощью Menu Designer 77
11.4. Изменение элементов меню 78
12. ПОЛУЧЕНИЕ «ВВОДА ОТ МЫШИ» И РИСОВАНИЕ В ФОРМЕ 80
12.1. События, связанные с мышью 80
12.2. Рисование в форме 81
12.3. Черчение и рисование в системе Windows 82
13. ИНСТРУМЕНТАЛЬНАЯ ЛИНЕЙКА И СТРОКА СОСТОЯНИЯ 83
13.1. Построение инструментальной линейки 83
13.2. Добавление всплывающих подсказок в линейку 84
13.3. Комбинированный список в инструментальной линейке 85
13.4. Построение строки состояния 87
14. ПРИЛОЖЕНИЕ С НЕСКОЛЬКИМИ ФОРМАМИ И МНОГОСТРАНИЧНЫЕ ФОРМЫ 87
14.1. Добавление второй формы в программу 88
14.2. Создание диалоговой панели 88
14.3. Построение блокнотов 90
15. ОБЩИЕ ПРИНЦИПЫ РАЗРАБОТКИ ПРОГРАММ 93
15.1. Специфика разработки программных средств 93
15.2. Жизненный цикл программного средства 93
15.3. Понятие качества программного средства 96
15.4. Обеспечение надежности основной мотив разработки программных средств 97
Литература 101