Контейнерні класи - це класи, призначені для зберігання даних, організованих певним чином.
Контейнери - це об'єкти, що містять інші однотипні об'єкти.
Для кожного типу контейнера визначені методи для роботи з його елементами, які не залежать від конкретного типу даних, які зберігаються в контейнері, тому один і той же вид контейнера можна використовувати для зберігання даних різних типів. Ця можливість реалізована за допомогою шаблонів класів.
Використання контейнерів дозволяє значно підвищити надійність програм, їх переносимість і універсальність, а також зменшити терміни їх розробки.
Розвиток об'єктно - орієнтованого програмування призвело до створення широкого набору бібліотек.
Бібліотека STL / CLR є упаковану бібліотеку стандартних шаблонів (STL), що входить до складу стандартної бібліотеки C ++.
БібліотекаATL розшифровується як Active Template Library. Це бібліотека класів і шаблонів, призначена для розробки власних компонетов. Одне з застосувань цієї бібліотеки - це створення власних елементів ActiveX. Наприклад, за допомогою бібліотеки ATL ви можете створити власну особливу кнопку (скажімо, круглу) і потім використовувати її в програмах.
БібліотекаMFC (Microsoft Foundation Classes) призначена в основному для створення додатків з призначеним для користувача інтерфейсом (вікна, діалоги і т. П.).
Бібліотека MFC інкапсулює багато функцій API (Application Programming Interfase), за допомогою яких реалізуються всі необхідні системні дії, такі як виділення пам'яті, висновок на екран, створення вікон і т.п. Бібліотека MFC розроблялася для спрощення завдань, що стоять перед програмістом.
Принципи розробки Windows - додатків
Більшість сучасних програм мають віконний інтерфейс. Це означає, що їх зовнішній вигляд і поведінка відповідає стандартам сучасних операційних систем:
Виконання програми починається з виведення на екран головного вікна.
Далі програма виконується зазвичай в режимі діалогу з користувачем. Це означає, що якщо користувач не здійснює будь-яких дій, що управляють на програму (наприклад, за допомогою миші або клавіатури), то ця програма знаходиться в режимі очікування.
Активні дії програми проявляються у вигляді реакції на дії.
Завершення роботи програми зазвичай також відбувається з ініціативи користувача і призводить до закриття вікна.
Важливою властивістю віконних програм є високий ступінь відповідності стандартам операційної системи. Наприклад, вкрай рідко вікно програми, яке зазвичай називається формою, може мати прямокутну форму. Це ж стосується і елементів, з яких побудовані вікна (кнопки, поля введення, списки і т.д.) Принципова можливість «екзотичних» додатків у програміста залишається, але це, як правило, потребує значних зусиль при програмуванні.
Стандартизація інтерфейсу відноситься не тільки до зовнішнього вигляду, але і до способів управління візуальними елементами.
Створення найпростішого Windows-додатки
Для створення нового Windows - додатки у вікні створення проекту потрібно вибрати тип проекту CLR і шаблон ПроложеніеWindowsForms. Після введення нового імені проекту необхідно натиснути кнопку ОК.
Малюнок 3.1 -Вікно створення проектуПісля цього відкриється головне вікно візуальної розробки.
Малюнок 3.2. - Основне вікно візуальної середовища
using namespace First_form;
int main (array
/ * Включення візуальних ефектів Windows XP до створення будь-яких елементів управління * /
// Створення головного вікна і його запуск
Метод main () є точкою входу для додатка і викликає Application :: Run (gcnew Form1 ()), який створює клас Form1.
using namespace System;
using namespace System :: ComponentModel;
using namespace System :: Collections;
using namespace System :: Windows :: Forms;
using namespace System :: Data;
using namespace System :: Drawing;
public ref class Form1. public System :: Windows :: Forms :: Form
private: System :: Void Form1_Load (System :: Object ^ sender, System :: EventArgs ^ e)
У тексті програми є директива using, що забезпечує використання класів, дуже важливих для створення віконних додатків - класів з простору імен System. Простір імен System містить фундаментальні типи даних, реалізовані в .NET Framework.
Клас System :: Convert надає повний набір методів для підтримуваних перетворень типів. У той час як різні мови програмування можуть мати розрізняються методи перетворення типів даних, клас Convert гарантує, що всі звичайні перетворення доступні в загальному форматі. Наприклад, підтримуються перетворення з типів String в числові типи, з типів DateTime в типи String і з типів String в типи Boolean.
Всі типи даних (як структурні, так і посилальні) виробляються від єдиного загального предка: класу System :: Object.
Головні методи об'єкта System :: Object наведені нижче.
1. Метод Equals (Object) або Equals (Object, Object) - служить для перевірки, чи є два об'єкти одним і тим же примірником. Метод дозволяє перевірити ідентичність збережених екземплярами об'єкта значень.
2. Метод ReferenceEquals (Object, Object) перевіряє, чи є два об'єкти
одним і тим же примірником класу.
3. Метод Finalize () за замовчуванням не виконує ніяких дій. Цей метод може бути перевизначений в успадкованих класах для виконання фінальної очищення пам'яті перед тим, як механізм збору сміття (Garbage Collector) знищить даний об'єкт.
4. Метод GetHashCode () служить для генерації хеш-значень (типу Integer), які можуть бути використані для зберігання об'єктів в хеш-таблицях.
5. Метод MemberwiseClone () створює точну копію об'єкта.
6. Метод ToString () повертає текстове представлення об'єкта. У більшості випадків цей метод повертає повне ім'я класу для даного об'єкта.
7. Метод GetType () повертає об'єкт типу Type для даного екземпляра класу.
Наведений вище програмний код генерується автоматично, він може бути скомпільовано і запущений на виконання. При цьому з'явиться порожня форма такого вигляду:
Малюнок 3.3. - Порожня форма проекту