Для визуальных компонент, (внесенных на панель компонент), информация об элементах, размещенных в этой секции, становится доступной через инспектор объектов. <...> Это внутренние данные класса, чтобы обеспечить их целостность, опишем их в разделе private. <...> Объектно-ориентированное программирование Полная структура класса TPoint имеет вид: 17 Поэтому класс TPoint опишем следующим образом: TPoint = class (TPosition) Private Fvisible: Boolean; Fcolor: Word; Public Constructor Create(InitX, InitY: Integer); Destructor Destroy; Function IsVisible: Boolean; Procedure Show; Procedure Hide; Procedure Move(NewX, NewY: Integer); end; TPosition, указанный в скобках после зарезервированного слова сlass, сообщает компилятору, что TPoint является «потомком» класса TPosition и соответственно наследует все поля и методы этого класса (в частности, поля Fx и Fy, методы GetX и GetY). <...> Всвязи с этим можно определить новый класс как потомок класса TPoint: TCircle = class (TPoint) Private Fr: Integer; Public Constructor Create(InitX, InitY, InitR: Integer); Destructor Destroy; Function GetR: Integer; Procedure Show; Procedure Hide; Procedure Move(NewX, NewY: Integer); End; {радиус} {возвращает значение радиуса} {спрятать} {отобразить} {переместить} 20 Глава 1 Классы TPoint и TCircle связаны отношением наследования и содержат методы Hide (спрятать), Show (отобразить) и Move (переместить). <...> Суть метода переместить остается прежней: Скрыть; Задать новое расположение геометрической фигуры; Отобразить; Методы скрыть и отобразить для каждой геометрической фигуры будут определять по-своему, поэтому необходимо объявить их виртуальными и абстрактными: Type TPosition = class private Fx, Fy : integer; public constructor Create (InitX, InitY: Integer); function GetX: integer; function GetY: integer; destructor Destroy; end; Объектно-ориентированное программирование TGeometricalFigure = class (TPosition) private Fcolor: word; public constructor Create(InitX, InitY: integer; InitColor: word); destructor Destroy; function GetColor: word; procedure SetColor(NewColor: word); procedure Show; virtual; abstract; procedure Hide; virtual; abstract; Procedure Move(NewX, NewY: integer); end; Параллелизм <...>
Практикум_по_объектно-ориентированному_программированию_(2).pdf
УДК 519.85(023)
ББК 22.18
Б12
Бабушкина И. А.
Б12 Практикум по объектно-ориентированному программированию
/ И. А. Бабушкина, С. М. Окулов.—6-е изд.,
электрон.—М. : Лаборатория знаний, 2025.—369 с.—
Систем. требования: Adobe Reader XI ; экран 10".—
Загл. с титул. экрана.—Текст : электронный.
ISBN 978-5-93208-821-0
Практикум содержит материал для проведения занятий
по объектно-ориентированному программированию в среде
Delphi. Изложены основы теории объектно-ориентированного
программирования, на базе которой изучаются возможности
Delphi и отрабатываются технологии разработки различных
приложений. Разобрано около 50 упражнений, приведено
более 140 заданий для самостоятельной работы и 60 вопросов
для контроля.
Для учителей информатики, преподавателей высших
учебных заведений, старшеклассников школ с углубленным
изучением информатики, студентов, обучение которых связано
с Computer Science.
УДК 519.85(023)
ББК 22.18
Деривативное издание на основе печатного аналога: Практикум
по объектно-ориентированному программированию /
И. А. Бабушкина, С. М. Окулов.—2-е изд.—М. : БИНОМ.
Лаборатория знаний, 2009.—366 с. : ил.
ISBN 978-5-9963-0219-2
В соответствии со ст. 1299 и 1301 ГК РФ при устранении
ограничений, установленных техническими средствами защиты
авторских прав, правообладатель вправе требовать от нарушителя
возмещения убытков или выплаты компенсации
ISBN 978-5-93208-821-0
© Лаборатория знаний, 2015
Стр.3
Оглавление
Введение ......................................... 3
1. Объектно-ориентированное программирование...... 6
1.1. Из истории развития языков программирования ....... 6
1.2. Объектная декомпозиция ......................... 7
1.3. Основные элементы ООП......................... 11
1.4. Композиция и наполнение ....................... 24
Задания для самостоятельного выполнения ........ 26
Вопросы для повторения ................................... 26
2. Введение в среду программирования Delphi. ....... 27
2.1. Историческая справка. . ......................... 27
2.2. Основные элементы среды программирования Delphi . . . 28
2.3. Создание приложения. . ......................... 29
2.3.1. Сохранение приложения ..................... 30
2.3.2. Запуск приложения......................... 30
2.3.3. Изменение свойств ......................... 31
2.3.4. Обработка событий ......................... 32
2.3.4.1. События мыши......................... 33
Задание для самостоятельного выполнения ........ 41
2.3.4.2. События клавиатуры .................... 41
Задания для самостоятельного выполнения ........ 45
2.3.4.3. Системные события. Отладка приложения:
точки прерывания . . ......................... 45
Задания для самостоятельного выполнения ........ 50
Вопросы для повторения ................................... 50
3. Файлы, составляющие приложения Delphi . ....... 51
3.1. Файл проекта (.DPR). . . ......................... 51
Задания для самостоятельного выполнения ........ 53
3.2. Файл модуля (.PAS) . . . ......................... 53
Задания для самостоятельного выполнения ........ 56
3.3. Файл формы (.DFM) . . . ......................... 56
3.4. Дополнительные файлы приложения Delphi. ......... 57
Вопросы для повторения ................................... 59
Стр.363
Оглавление
363
4. Введение в визуальное проектирование ........... 60
4.1. Визуальное проектирование ...................... 60
4.2. Компоненты Label, Edit, Button ................... 62
Задания для самостоятельного выполнения ........ 64
Задания для самостоятельного выполнения ........ 74
Вопросы для повторения ................................... 76
5. Cписки строк. Обработка исключительных
ситуаций ....................................... 77
5.1. Класс TStrings ................................ 77
Задания для самостоятельного выполнения ........ 86
5.2. Исключительные ситуации....................... 86
Задания для самостоятельного выполнения ........ 91
5.3. Класс TList ................................... 95
Задание для самостоятельного выполнения ........ 99
5.4. Классы TStringList и TIniFile. Динамическое помещение
компонент на форму ............................... 100
Задания для самостоятельного выполнения ....... 112
Вопросы для повторения.................................. 113
6. Сетки строк . . . . . ............................. 114
6.1. Класс TDrawGrid.............................. 114
6.2. Класс TStringGrid ............................. 122
Задания для самостоятельного выполнения ....... 133
Вопросы для повторения.................................. 139
7. Интерфейс Drag&Drop. . . ...................... 140
Задания для самостоятельного выполнения ....... 148
Вопросы для повторения. . ................................ 150
8. Невизуальные компоненты Delphi. .............. 151
8.1. Диалоговые компоненты........................ 151
8.1.1. Основные правила использования диалоговых
панелей..................................... 152
8.1.2. Компоненты OpenDialog и SaveDialog .......... 153
8.1.3. Компонент FontDialog ...................... 155
8.1.4. Компоненты PrintDialog и PrinterSetupDialog.... 157
8.1.5. Компонент ColorDialog ..................... 157
Стр.364
364
Оглавление
8.1.6. Компоненты FindDialog и ReplaceDialog . . ...... 158
8.1.7. Компонент OpenPictureDialog ................ 159
8.1.8. Компонент SavePictureDialog ................ 160
8.2. Компоненты-меню............................. 160
Задание для самостоятельного выполнения........ 166
8.2.1. Форматирование абзаца..................... 166
Задания для самостоятельного выполнения ....... 167
8.2.2. Форматирование текста ..................... 168
Задания для самостоятельного выполнения ....... 169
8.2.3. Элементы меню Правка ..................... 169
Задания для самостоятельного выполнения ....... 171
Вопросы для повторения.................................. 172
9. Разработка компонентов в среде Delphi . . ........ 173
9.1. Выбор класса-предка. . . ........................ 174
9.1.1. Класс TControl............................ 175
Задание для самостоятельного выполнения........ 176
9.1.2. Класс TGraphicControl...................... 176
9.1.3. Класс TWinControl ........................ 177
9.1.4. Класс TCustomControl ...................... 177
9.2. Создание модуля компонента и тестового
приложения..................................... 177
9.3. Добавление свойств, методов и событий ............ 180
9.3.1. Простые свойства. . ........................ 183
9.3.2. Свойства перечислимого типа ................ 184
9.3.3. Свойства типа множества ................... 185
9.3.4. Свойство-объект . . ........................ 186
9.3.5. Свойство-массив . . ........................ 188
9.3.6. Массив свойств . . . ........................ 190
9.3.7. Перекрытие и переопределение свойств. ........ 191
9.3.8. Создание событий . ........................ 192
9.3.9. Создание методов. . ........................ 194
9.4. Регистрация компонента в среде Delphi ............ 197
Задания для самостоятельного выполнения ....... 207
Задания для самостоятельного выполнения ....... 218
Вопросы для повторения.................................. 219
Стр.365
Оглавление
365
10. Создание многопоточных приложений .......... 220
10.1. Многозадачность и многопоточность .............. 220
10.2. Функция CreateThread ........................ 222
Задания для самостоятельного выполнения ....... 231
10.3. Класс TThread . .............................. 232
Задания для самостоятельного выполнения ....... 244
Вопросы для повторения.................................. 245
11. Базы данных в Delphi . . . ..................... 246
11.1. Принципы построения баз данных ............... 246
11.2. Компоненты, используемые для связи с базами
данных......................................... 248
11.2.1. Компонент Table ......................... 250
11.2.2. Компонент DataSource и компоненты
отображения данных .......................... 251
Задания для самостоятельного выполнения ....... 260
11.3. Создание баз данных с помощью Database desktop . . . 260
Задания для самостоятельного выполнения ....... 269
11.4. Основы языка SQL............................ 269
11.4.1. Оператор выбора ......................... 269
11.4.2. Объединение таблиц ...................... 271
11.4.3. Операции с записями...................... 271
11.4.4. Операции над таблицей .................... 271
11.4.5. Изменение структуры таблицы .............. 273
11.4.6. Удаление таблиц ......................... 273
11.5. Компонент Query............................. 273
Задание для самостоятельного выполнения........ 277
Задания для самостоятельного выполнения ....... 284
Вопросы для повторения.................................. 287
12. Программирование сокетов . . ................. 288
12.1. Компонент ClientSocket........................ 290
Задания для самостоятельного выполнения ....... 297
12.2. Компонент TServerSocket ...................... 297
Задания для самостоятельного выполнения ....... 300
12.3. Посылка/прием сложных данных. ............... 300
Задания для самостоятельного выполнения ....... 312
Стр.366
366
Оглавление
12.4. Посылка файлов через сокет .................... 313
Задания для самостоятельного выполнения ....... 314
Вопросы для повторения.................................. 319
Приложение 1 ................................... 320
Приложение 2 ................................... 325
Приложение 3 «Поиск файлов» ...................... 340
Приложение 4 «Chat» для локальной сети.............. 349
Литература ..................................... 358
Предметный указатель............................. 359
Стр.367