Объектно-ориентированное программирование на С++ - eDrive
Объектно-ориентированное программирование на С++ - eDrive Объектно-ориентированное программирование на С++ - eDrive
94 • Property от дочернего элемента управления к родителю (сплошная линия со стрелкой), например, от полей к таблице; • Master/Detail от главной таблицы (master) к подчиненной (detail) (линия, на которой главная таблица помечена большим прямоугольником, а подчиненная – маленьким прямоугольником и указано поле связи); • типа Lookup (линия с изображением глаза); • ссылка Comment Allude (стрелка). Пользуясь контекстными меню, эти связи удобно удалять и редактировать. При этом тип Lookup отображает поля подстановки данных из других таблиц, а Comment Allude подключает комментарии Comment Block к компонентам структуры, облегчая тем самым оформление схемы базы данных перед выводом ее в печать командой Print контекстного меню. Чтобы связать между собой две таблицы, следует при нажатой кнопке Master/Detail провести линию от главной таблицы к подчиненной, и в открывшемся окне указать имена зависимых полей и нажать кнопку Add. В результате автоматически заполнится свойство MasterFields подчиненной таблицы именем соответствующего поля главной таблицы MasterSource. Эти же данные можно занести вручную через редакторы названных свойств. Чтобы создать в неактивной таблице новое поле подстановки, следует в контекстном редакторе ее ветви Fields окна Object TreeView выбрать New Field и, установив переключатель Lookup, задать имя, тип и размер поля, ключи (Key), источник (Dataset) и поле подстановки (Result Field). Подготовленный модуль данных сохраняется, и в редакторе форм подключается к модулю формы (File.Include Unit Hdr). В форму помещаются элементы управления данными с вкладки Data Controls панели компонентов. Это таблицы DBGrid и навигаторы DBNavigator, а также поля таблиц DBText, DBEdit, DBMemo, DBImage и другие. Компоненты вкладки Data Controls отличаются от рассмотренных ранее компонентов вкладки Standard наличием свойств DataSource и DataField, обеспечивающих их совместную работу с источниками данных. В свойстве DataSource указываются соответствующие объекты модуля данных, а в DataField – поля таблиц и запросов. Здесь также возможна подстановка (свойство столбца PickList), но не из таблицы, а из фиксированного списка значений.
95 Контрольные вопросы 1. В чем преимущества баз данных перед авторскими файлами данных 2. Каковы основные характеристики реляционных СУБД 3. Каковы достоинства и недостатки технологии ADO 4. Каковы достоинства и недостатки технологии BDE 5. Каковы достоинства и недостатки технологии DBExpress 6. Какие звенья служат для подключения приложения к базам данных 7. Что называется провайдером (поставщиком) и источником данных, через которых осуществляется подключение 8. Через какие визуальные компоненты выполняется редактирование данных в подключенных таблицах 9. Какие функции выполняют запросы действия 10. В чем разница между компонентами TADOQuery и TADOCommand 11. Для чего и как производится связывание таблиц 12. Чем различаются поля PickUp и Loolup Объектно-ориентированное программирование Что посеешь, то и пожнешь Русская пословица Концепция объектно-ориентированного программирования предполагает конструирование программ из объектов – представителей классов. В качестве классов выступают библиотечные и пользовательские типы даных с характерными для них свойствами и методами поведения. Классификация способствует экономии памяти и упрощает описание и отображение объектов, облегчает их систематизацию и стандартизацию. Формирование программ из объектов является основным инструментом современного программирования. Главными механизмами объектно-ориентированного подхода служат инкапсуляция, полиморфизм и наследование. Инкапсуляция Создание авторских классов начинается с их объявления в файле заголовка модуля. После объявления или одновременно с ним класс определяется (описывается). Встроенное объявление и определение членов выполняется в формате обычных переменных и функций:
- Page 43 and 44: Перестановки и сор
- Page 45 and 46: } 45 for (int i=1; i=0 + 1; - -j) i
- Page 47 and 48: 47 нять, создавать с
- Page 49 and 50: lb->LoadFromFile (“1.txt”); Sho
- Page 51 and 52: 51 При передаче в фу
- Page 53 and 54: 53 } // 0 1 Иванов 2 Петр
- Page 55 and 56: 55 void Info (TList *vl) { AnsiStri
- Page 57 and 58: Allocate (k[0], k[1], book1); Alloc
- Page 59 and 60: 59 else ShowMessage ("Такой ч
- Page 61 and 62: 61 for (rj=n.rbegin (); rj!=n.rend
- Page 63 and 64: int i, d[] = { 5, 2, 3, 8, 3, 1, 3
- Page 65 and 66: 22. Каков принцип де
- Page 67 and 68: StringGrid1->Cells[0][j] = myS[j].a
- Page 69 and 70: void Files2 () { AnsiString from =
- Page 71 and 72: void _ _fastcall TForm1::DelFromFil
- Page 73 and 74: 73 Фрагмент обработ
- Page 75 and 76: 75 отказ в доступе, EM
- Page 77 and 78: 77 //myApplication.cpp #include "my
- Page 79 and 80: 79 Для подключения н
- Page 81 and 82: 81 Управление созда
- Page 83 and 84: 83 Контрольные вопр
- Page 85 and 86: 85 для построения ма
- Page 87 and 88: 87 В C++Builder все подкл
- Page 89 and 90: 89 ODBC в папке Панель
- Page 91 and 92: void _ _fastcall TDBForm1::ConnectC
- Page 93: 93 Для подключения з
- Page 97 and 98: class VPC { private: int type; Ansi
- Page 99 and 100: 99 AnsiString result; VDeque *curso
- Page 101 and 102: } 101 VList a (3); // констр
- Page 103 and 104: }; VStackAndQueue (AnsiString str);
- Page 105 and 106: }; 105 public: VSecond (AnsiString
- Page 107 and 108: } ShowMessage ("Старое вре
- Page 109 and 110: } 109 AnsiString temp; for (i=0; i
- Page 111 and 112: 111 }; int VPrice::operator > (cons
- Page 113 and 114: 113 void MainVVector () { VVector
- Page 115 and 116: 115 void MainVEqu() { // x + 4y = 9
- Page 117 and 118: 117 Виртуальные функ
- Page 119 and 120: 119 virtual Тип имяФункц
- Page 121 and 122: 121 7. В чем заключает
- Page 123 and 124: 123 • руководство си
- Page 125 and 126: 125 Предметный указа
- Page 127: 5 Валерий Михайлови
95<br />
Контрольные вопросы<br />
1. В чем преимущества баз данных перед авторскими файлами данных<br />
2. Каковы основные характеристики реляционных СУБД<br />
3. Каковы достоинства и недостатки технологии ADO<br />
4. Каковы достоинства и недостатки технологии BDE<br />
5. Каковы достоинства и недостатки технологии DBExpress<br />
6. Какие звенья служат для подключения приложения к базам данных<br />
7. Что <strong>на</strong>зывается провайдером (поставщиком) и источником данных, через<br />
которых осуществляется подключение<br />
8. Через какие визуальные компоненты выполняется редактирование данных<br />
в подключенных таблицах<br />
9. Какие функции выполняют запросы действия<br />
10. В чем разница между компонентами TADOQuery и TADOCommand<br />
11. Для чего и как производится связывание таблиц<br />
12. Чем различаются поля PickUp и Loolup<br />
<strong>Объектно</strong>-<strong>ориентированное</strong> <strong>программирование</strong><br />
Что посеешь, то и пожнешь<br />
Русская пословица<br />
Концепция объектно-ориентированного программирования предполагает<br />
конструирование программ из объектов – представителей классов. В качестве<br />
классов выступают библиотечные и пользовательские типы даных с<br />
характерными для них свойствами и методами поведения. Классификация<br />
способствует экономии памяти и упрощает описание и отображение объектов,<br />
облегчает их систематизацию и стандартизацию. Формирование программ<br />
из объектов является основным инструментом современного программирования.<br />
Главными механизмами объектно-ориентированного подхода<br />
служат инкапсуляция, полиморфизм и <strong>на</strong>следование.<br />
Инкапсуляция<br />
Создание авторских классов <strong>на</strong>чи<strong>на</strong>ется с их объявления в файле заголовка<br />
модуля. После объявления или одновременно с ним класс определяется<br />
(описывается). Встроенное объявление и определение членов выполняется в<br />
формате обычных переменных и функций: